iterator_traits
描述 (Description)
它描述了定义迭代器属性的类。
声明 (Declaration)
以下是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*>;
参数 (Parameters)
T - 表示元素的类型。
返回值
没有
异常 (Exceptions)
如果x在应用一元运算符时以某种方式抛出它,则此函数永远不会抛出异常。
时间复杂
随机访问迭代器的常量。
例子 (Example)
以下示例显示了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