-3
std::array
を学び始め、.at(index of element)
で配列にアクセスする機能が見つかりました。 array.[index of element]
のスタイルには何らかの理由がありますか?(速度、例外、その他)Array.at(index)over配列[index]
std::array
を学び始め、.at(index of element)
で配列にアクセスする機能が見つかりました。 array.[index of element]
のスタイルには何らかの理由がありますか?(速度、例外、その他)Array.at(index)over配列[index]
検討(link)
const_reference operator[](size_type pos) const;
及び(link)
const_reference at(size_type pos) const;
両者が指定した位置に要素への参照を返す:。pos
しかし、前者は境界チェックを行わず、後者は の場合!(pos < size())
の場合、後者はstd::out_of_range
例外をスローします。
それらのドキュメントを比較しましたか?何を見つけましたか? – Mat
[vector :: atとvector :: operator \ [\]]の重複の可能性があります(https://stackoverflow.com/questions/9376049/vectorat-vs-vectoroperator) –
私は答えを見つけました。 .at()を使うと配列の境界を調べます。どこに[]演算子をつけてもそれはしません。 –