stl
__type_traits机制允许针对不同的型别属性,在编译时期完成函数派送
iterator_traits负责萃取迭代器特性,而__type_traits负责萃取型别特性——》
这里型别指no-trival
一个简单的判断标准是class内含指针成员,并且对它进行内存动态配置
1 | __type_traits<T::has_trivial_default_constructor |
我们希望通过以上型别返回结果进行函数派送,而编译器只有面对class object形式的参数才会做参数推导
因此应该传回
1 | strcut __true_type {}; |