Syntax:
#include <string> charT& at( size_type loc ); const charT& at( size_type loc ) const;
at()関数は、文字列の”loc”位置の文字を返します。 at()関数は、[]演算子よりも安全です。 それは、文字列の最後を越える参照ができないためです。
例えば、次のコードを検討してみてください。
string s("abcdef"); for( int i = 0; i < 10; i++ ) { cout << "Element " << i << " is " << s[i] << endl; }
このコードは、文字列の最後を越えて実行されています。これは、潜在的に危険な結果を生んでいます。 コードをより安全に書くには、
string s("abcdef"); for( int i = 0; i < 10; i++ ) { cout << "Element " << i << " is " << s.at(i) << endl; }
メモリから不正確なデータを拾う代わりに、at()関数は、文字列を超えて実行されるのが明らかな場合は、例外をスローします。
Related Topics: [] operator