iterator 结构

用于的空结构基本确保一个用户定义的迭代器类正确使用 iterator_trait(.)。

template<class Category, class Type, class Distance = ptrdiff_t
    class Pointer = Type*, class Reference = Type&>
    struct iterator {
        typedef Category iterator_category;
        typedef Type value_type;
        typedef Distance difference_type;
        typedef Distance distance_type;
        typedef Pointer pointer;
        typedef Reference reference;
    };

备注

模板结构用作基类型。对于所有迭代器。 它定义类型成员

  • iterator_category (模板参数的 Category) 的同义词。

  • value_type (模板参数的同义词 类型)。

  • difference_type (模板参数的 Distance) 的同义词。

  • 模板参数的同义词distance_type ( Distance)

  • pointer (模板参数的 Pointer) 的同义词。

  • reference (模板参数的 Reference) 的同义词。

请注意 value_type 不应为常数类型常量,即使在 类型 和引用对象的 指针 点指定常数 类型对象。

示例

为有关如何参见 iterator_traits 声明和使用类型在迭代器的基类。

要求

页眉:<迭代器>

命名空间: std

请参见

参考

<iterator>

C++ 标准库中的线程安全

标准模板库