条款47:请使用traits classes表现类型信息

来源:互联网 发布:快速开方算法 编辑:程序博客网 时间:2024/05/17 02:21

STL迭代器可分为五类:

 

struct input_iterator_tag{};

struct output_iterator_tag{};

struct forward_iterator_tag:public input_iterator_tag{};

struct bidirectional_iterator_tag:public forward_iterator_tag{};

struct random_access_iterator_tag:public bidirectional_iterator_tag{};

iterator_traits的两个部分实现:

 

template<typename IterT>

struct iterator_traits;

示例代码:

 

STL算法里面的函数advance的实现,其作用就是将某个迭代器移动某个距离,示例代码:

 

 

 

 

原创粉丝点击