STL源码剖析——Iterator与Traits编程

  一个迭代器具有很多特性(根据经验一般是5个),本节主要学的就是迭代器的5个特性是什么,以及如何利用traits机制去提取某迭代器的特性,例如其所指对象的类型(value_type)就是迭代器特性之一。这一部分在我看来这部分还是蛮抽象的,充满只可意会不可言传的气息,而且我还不一定能正确意会到其源码的用意,所以如果发现本人有什么错误的理解,请指出,谢谢。


本节土法炼钢,从设计一个迭代器出发,去寻找实现一个迭代器的功能究竟需要做些什么?

  • STL源码剖析——iterators与trait编程#1 尝试设计一个迭代器

本节初入raits编程,并阐述了迭代器中的4个比较简单的特性

  • STL源码剖析——iterators与trait编程#2 Traits编程技法

本节阐述迭代器中最后一个比较复杂的特性,这触及到迭代器本身类型的理解。同时总结了如何利用traits机制提取该特性。

  • STL源码剖析——iterators与trait编程#3 iterator_category

本节给出iterator的部分源码,带有用到traits机制做判断的一些函数

  • STL源码剖析——iterators与trait编程#4 iterator源码

traits机制不仅能提取迭代器的特性,更是能提取普通类的特性,而普通类的特性是什么?普通类特性如何提取?其特性用于什么判断?本节都有讨论到。

  • STL源码剖析——Iterators与Traits编程#5 __type_traits

文章来自本人另一博客。

你可能感兴趣的:(STL源码剖析——Iterator与Traits编程)