次のように宣言されたベクトルがあります
std::vector<int> MyVector;
MyVector.push_back(5);
MyVector.push_back(6);
MyVector.push_back(7);
for ループでどのように使用すればよいですか?
イテレータで繰り返すことによって?
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;
}
インターネットで見つけた例では、両方が使用されています。すべての条件下で、一方が他方より優れているか? そうでない場合、いつどちらかを優先する必要がありますか?