唔明下面的代碼:減法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