唔明下面的代码:减法X.begin()如何返回迭代器的索引?
int data[5] = { 1, 5, 2, 4, 3 };
vector<int> X(data, data+5);
int v1 = *max_element(X.begin(), X.end()); // Returns value of max element in vector
int i1 = min_element(X.begin(), X.end()) – X.begin(); // Returns index of min element in vector
不是真的知道如何减去X.begin返回的迭代器返回的最大/最小元素的索引?
你确定它不是' - X.begin()'? –
什么不清楚? (保罗错过的拼写错误。) –
迭代器减法的作用就像指针减法一样。 [你可以在迭代器上执行许多有用的操作](http://en.cppreference.com/w/cpp/concept/RandomAccessIterator)(和指针)。 (我简化了一些,因为有不同类型的迭代器,但'vector'的迭代器是随机访问迭代器,所以我将注意力集中在这个评论中的那些类型的迭代器)。 – Cornstalks