至于标题,可以vec.end()作为位置参数传递吗?即,是的行为
std::vector<int> vec;
vec.insert(vec.end(), 0);
Run Code Online (Sandbox Code Playgroud)
明确定义?
是的,它定义明确.假设vector是空的,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. |
-------------------------------------------------------------------------------|
Run Code Online (Sandbox Code Playgroud)