C++ 迭代器库 - iterator_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 
迭代器.htm