Должен ли я повторять вектор с помощью итератора или оператора доступа?
У меня вектор объявлен как
std::vector<int> MyVector;
MyVector.push_back(5);
MyVector.push_back(6);
MyVector.push_back(7);
Как я должен использовать его в цикле?
Итерируя это с помощью итератора?
for (std::vector<int>::iterator it=MyVector.begin(); it!=MyVector.end(); ++it)
{
std::cout << "Vector element (*it): " << *it << std::endl;
}
Или его итератором доступа?
for (std::vector<int>::size_type i=0; i<MyVector.size(); i++)
{
std::cout << "Vector element (i) : " << MyVector.at(i) << std::endl;
}
В примерах, которые я нашел в интернете, они оба используются. Один из них превосходит другой в любых условиях? Если нет, то когда я должен предпочесть один из них другому?