C++ Iterator 库 - 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 − 它指示元素的类型。
返回值
none
异常
如果 x 在应用一元 operator& 时以某种方式抛出; 对它来说,这个函数永远不会抛出异常。
时间复杂度
随机访问迭代器的常量。
示例
以下示例显示了 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