vector.at(i)とはどう違いvector[i]ますか?
vector<int> myVector(6);
myVector.at(5) = 5;
また
myVector[5] = 5;
どちらも同じ結果になることはわかっていますが、どういうわけか演算子の[]方が高速です。atまた、ベクトルサイズ(境界)のチェックについて読み、範囲外エラーを返しますが、そうではあり[]ません。
ただし、割り当てようとすると次のことがわかりました。
myVector[8] = 1;
デバッグ モードでも同様の範囲外エラーが発生します。
では、 の意味はat何ですか?なぜ STL にあるのですか?