类型萃取概述 type traits
属于泛型编程方便的技术,在stl源码中,类型萃取技术用的很多。
萃取:提取一些信息出来。
C++11 标准库里 提供了很多类型萃取的接口,这些接口起始就是类模版;
这些萃取的接口在:
Metaprogramming library (since C++11) - cppreference.com
类型萃取范例
//通过萃取接口中的value值为true ,false 就可以萃取出很多有用信息。
template <typename T>
void printTraitsInfo(const T &t) {
cout << "要萃取的类型名字:" << typeid(T).name() << endl;
cout << "is_void = " << is_void<T>::value << endl;//类型是否 是 void
cout << "is_class = " << is_class<T>::value << endl;//类型是否 是 一个class
cout << "is_object = " << is_object<T>::value << endl;//类型是否 是 一个对象类型
cout << "is_pod = " << is_pod<T>::value

最低0.47元/天 解锁文章
233

被折叠的 条评论
为什么被折叠?



