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
廣告