vectorにおけるv[i]とv.at(i)の違い
740 ワード
void f(vector<int> &v)
{
v[0]; // A
v.at[0]; // B
}
vが空でない場合、A行とB行には何の違いもありません.vが空の場合、B行はstd::out_を放出します.of_range異常、A行の動作は定義されていません.
c++標準ではvector
下限チェックが必要な場合はatを使用します.