2017-07-05 4 views
-3

std::arrayを学び始め、.at(index of element)で配列にアクセスする機能が見つかりました。 array.[index of element]のスタイルには何らかの理由がありますか?(速度、例外、その他)Array.at(index)over配列[index]

+5

それらのドキュメントを比較しましたか?何を見つけましたか? – Mat

+0

[vector :: atとvector :: operator \ [\]]の重複の可能性があります(https://stackoverflow.com/questions/9376049/vectorat-vs-vectoroperator) –

+0

私は答えを見つけました。 .at()を使うと配列の境界を調べます。どこに[]演算子をつけてもそれはしません。 –

答えて

2

検討(link

const_reference operator[](size_type pos) const; 

及び(link)

const_reference at(size_type pos) const; 

両者が指定した位置に要素への参照を返す:。posしかし、前者は境界チェックを行わず、後者は の場合!(pos < size())の場合、後者はstd::out_of_range例外をスローします。