at
提供:cppreference.com
文法:
#include <vector> T& at( size_type loc ); const T& at( size_type loc ) const;
at()関数はvector中のlocにおける要素への参照を返します。at()関数は範囲チェックを行うので[]operatorより安全です。 例えば, 次のコードを見て下さい:
vector<int> v( 5, 1 ); for( int i = 0; i < 10; i++ ) { cout << "要素" << i << "は" << v[i] << endl; }
このコードはvectorの最後を超えて実行されており、潜在的に危険な結果を生んでいます。次のコードの方がよっぽど安全です:
vector<int> v( 5, 1 ); for( int i = 0; i < 10; i++ ) { cout << "要素" << i << "は" << v.at(i) << endl; }
メモリから不明な値を読もうとする代わりに、at()関数はvectorの範囲超過に気づき例外(out_of_range)を投げます。
関連トピック: [] operator