vec.end()
タイトルについてですが、位置パラメータとして渡してもよろしいでしょうか?すなわち、の動作です
std::vector<int> vec;
vec.insert(vec.end(), 0);
よく定義されていますか?
はい、明確に定義されています。begin()
ベクトルが空の場合、 に等しいと仮定しend()
ます。その効果は、イテレータの前に要素のコピーを挿入することです。
§ 表 100 — シーケンスコンテナの要件 (コンテナに加えて)
|------------------------------------------------------------------------------|
|a.insert(p,t) | iterator Requires:T shall be CopyInsertable into X. For |
| | vector and deque, T shall also be CopyAssignable.|
| | Effects: Inserts a copy of t before p. |
-------------------------------------------------------------------------------|
も見てください: std::vector::insert
はい、挿入関数に渡される反復子は、新しい要素が挿入される前の位置を示します。したがって、 at を挿入end()
すると、要素がコンテナー内の最後の要素になります。