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

来源:互联网 发布:软件著作权 专利 区别 编辑:程序博客网 时间:2024/05/22 13:55

                                            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时,设计特化版本!

 

0 0
原创粉丝点击