一对开始迭代器和结束迭代器——它有名字吗? 在C++中,有一个定义了一对迭代器的结构> (或类)——一个开始,一个结束迭代器?代表这一点的最佳实践是什么标准::配对?我知道我可以很容易地建立自己,但我想按照惯例

一对开始迭代器和结束迭代器——它有名字吗? 在C++中,有一个定义了一对迭代器的结构> (或类)——一个开始,一个结束迭代器?代表这一点的最佳实践是什么标准::配对?我知道我可以很容易地建立自己,但我想按照惯例,c++,iterator,C++,Iterator,我搜索以下内容: template<class It> struct XXX { private: It b; It e; public: It begin () const { return b; } It end () const { return e; } // ... }; 模板 结构XXX{ 私人: 它是b; 它是e; 公众: 它的begin()常量{return b;} It end()常量{return e;} // ... }; 如果它

我搜索以下内容:

template<class It>
struct XXX {
private:
   It b;
   It e;
public:
   It begin () const { return b; }
   It end () const { return e; }
   // ...
};
模板
结构XXX{
私人:
它是b;
它是e;
公众:
它的begin()常量{return b;}
It end()常量{return e;}
// ...
};

如果它是一对任意的迭代器,那么它就是一对迭代器

如果它恰好是一对迭代器,某些假设适用,例如“它们指向同一个容器”,我将其称为“范围”,因为在标准模板库的整个文档中,这就是它的名称:

  • writes
    Find包含三个参数:定义范围的两个迭代器,以及在该范围内搜索的值。它从头到尾检查[第一,最后]范围内的每个迭代器,并在找到指向值的迭代器或到达范围的末尾时停止。

  • 写入(是的,我知道该站点的可信度很低,但无论如何):
    范围是可以通过迭代器或指针访问的任何对象序列,例如数组或一些STL容器的实例。

  • 24.2.1第7段中写道:
    A range是一对迭代器,用于指定计算的开始和结束。A range[i,i]是一个
    空范围;通常,范围[i,j]指数据结构中以元素开头的元素
    由i指向但不包括由j指向的元素

请特别注意