您的位置:首页 > 编程语言

STL(6)之Traits编程技法 与迭代器

2014-06-27 16:21 274 查看
Traits编程技法----STL源码钥匙!-----------(特性萃取机)

1.Traits编程技法说白了是利用上篇所用到的偏特化概念来实现的!

2.一个很好地使用就是在迭代器之中;

3.为什么需要?前提是并不是所有的模板类型都是class type,有的是原生指针,有的却是指向为常类型的指针const T *

但是这个时候,是无法运用typedef T value_type,来萃取出元素正确的类型的;

4.不论面对的是原生指针int* 还是const int *,都是可以通过traits取出正确的value_type;

5.正是traits这一层的间接层,才使得算法与数据结构分离了!使得迭代器成为一种粘合剂,STL方能共同合作!

6.故而,iterator_traits必须针对传入的类型为指针pointer以及pointer to const时,设计特化版本!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: