Возможный дубликат:
Зачем использовать итераторы вместо индексов массива?
Я просматриваю свои знания на С++, и я наткнулся на итераторы. Одна вещь, которую я хочу знать, - это то, что делает их такими особенными, и я хочу знать, почему это:
using namespace std;
vector<int> myIntVector;
vector<int>::iterator myIntVectorIterator;
// Add some elements to myIntVector
myIntVector.push_back(1);
myIntVector.push_back(4);
myIntVector.push_back(8);
for(myIntVectorIterator = myIntVector.begin();
myIntVectorIterator != myIntVector.end();
myIntVectorIterator++)
{
cout<<*myIntVectorIterator<<" ";
//Should output 1 4 8
}
лучше, чем это:
using namespace std;
vector<int> myIntVector;
// Add some elements to myIntVector
myIntVector.push_back(1);
myIntVector.push_back(4);
myIntVector.push_back(8);
for(int y=0; y<myIntVector.size(); y++)
{
cout<<myIntVector[y]<<" ";
//Should output 1 4 8
}
И да, я знаю, что я не должен использовать пространство имен std. Я просто взял этот пример с сайта cprogramming. Так что, пожалуйста, скажите мне, почему последнее хуже? Какая большая разница?