为什么要使用迭代器?
例如,如果我有这样的代码:
for (int i = 0; i < vec.size(); i++)
cout << vec[i];
写作有什么好处
for (vector<int>::iterator it != vec.begin(); it != n.end(); ++it)
cout << *it;
另外,为什么在第一个示例中写作i < vec.size()
and更常见,而在第二个示例中更常见?增加它的方式有什么区别,为什么不总是使用等号?i++
it != begin()
++it
我知道迭代器在 C++11 基于范围的 for 循环和一些 STD 算法中很有用,但是为什么我应该在普通代码中这样做,因为它更冗长?