C++11中is_same使用
使用场景:
我们在写模板代码时,希望对于某些类型做不同处理,需要对实参类型进行一个判断,std::is_same是个不错的选择,返回值(::value)为true/false。
实例:
假如,用户用int类型去实例化该模板,我希望做一些特殊操作,代码可以这样写:
#include
#include template <typename T>
void fun(T a){if(std::is_same<T,int>::value){std::cout<<"T type is int"<<std::endl;//we can do something}else{std::cout<<"T type is not int"<<std::endl;//we can do other thing}
}
调用:
int main(){fun(100);fun(2.2);return 0;
}
结果:
T type is int
T type is not int
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
