C++ 迭代器库 - iterator_traits



描述

定义迭代器属性的 traits 类。

声明

以下是 std::iterator_traits 的声明。

C++11

template <class Iterator> class iterator_traits;
template <class T> class iterator_traits<T*>;
template <class T> class iterator_traits<const T*>;

参数

T − 指示元素的类型。

返回值

异常

如果在对 x 应用一元运算符 & 时以某种方式抛出异常,则此函数永远不会抛出异常。

时间复杂度

对于随机访问迭代器,时间复杂度为常数。

示例

以下示例显示了 std::iterator_traits 的用法。

#include <iostream>     
#include <iterator>     
#include <typeinfo>     

int main() {
   typedef std::iterator_traits<int*> traits;
   if (typeid(traits::iterator_category)==typeid(std::random_access_iterator_tag))
      std::cout << "int* is a random-access iterator";
   return 0;
}

让我们编译并运行以上程序,这将产生以下结果:

int* is a random-access iterator 
iterator.htm
广告

© . All rights reserved.