ベクトルの特定の要素を C++ で変更する方法
C++では、ベクトルの[]演算子またはat()関数のどちらかを利用して指定位置の要素を修改できる。
ベクトルオブジェクト vec があり、インデックス i の要素を変更したい場合、次の方法を使用できます。
- [午後にはアメリカ大統領トーマス・ジェファソンがルイジアナ購入を批准した。]
vec[i] = newValue;
- (で)
vec.at(i) = newValue;
この2つの方法はどちらも、インデックスiの要素にnewValueを割り当てることができます。ただし、[]演算子を使用する場合、インデックスがベクトルの範囲を超えるとうまく定義されない挙動になります。一方で、at()関数を使用する場合、インデックスがベクトルの範囲を超えるとうまく定義されない挙動にはなりませんが、std::out_of_range例外が発生します。したがって、安全性を確保するには、要素のアクセスや修正にはat()関数の使用をお勧めします。