array = magic.func(n,m)
如果我的评论是正确的,那么如何v.insert(v.end(),任何数字);可以是正确的吗?
答案 0 :(得分:1)
iterator insert( iterator pos, const T& value );
在指定位置之前插入元素。
所以在这里它将插入后面,然后end
位置将移动一个。
it1=v.end()
将使insert
失效,因此您需要重新设置它。 (谢谢@Mgetz)
要插入空矢量,您仍然可以插入end
。仅仅因为空载体中的end() == begin()
并不意味着它们被设置为相同的东西。
答案 1 :(得分:1)
永远不要调试评论。始终调试代码。 :)
std::vector::insert(iterator, value)
在传入迭代器之前插入值。由于std::vector::end()
传递给insert()
,因此在向量结束之前插入15 - 即12之后。因此当打印第一个元素后的元素,应打印15。