- 跟iterator_traits同理,包含一些对于某种类型的默认构造函数,拷贝构造函数,析构函数等等是否重要的typedef,算法会不断的根据该类型的特性(即哪些重要不能省略,而哪些不重要可以不做)选择最佳的执行策略;
- 若自己写了一个新class,要想使用算法处理这种类型对象时获得最佳性能,可以自己手写一个这种类型的特化版本,但C++11提供了很多萃取机,如下图所示,可以得到任意类型的各种信息,就无需手写特化版本了,目的都是为了更好的处理该类型;
- type_traits的实现:如上图的很多萃取机,都是对输入类型进行某种判断,通常是先去掉该类型的cpnst和volatile,再结合使用泛化和特化,对该类型的每种解具体情况分类讨论,并true或false;
type_traits
最新推荐文章于 2021-08-03 18:11:38 发布