Copy内部实际上是赋值,并不会给容器申请内存空间,如
copy(v1.begin(), v1.end(), v2.begin());
如果这个时候v2的内存占用量比v1中的元素少的话就会出现断言
插入迭代器是以赋值形式提供的但其内部调用的是push_front、push_back之类的函数来调用
我们看看三种迭代器的源码
所以我们可以利用copy和插入迭代器合起来使用
如:copy(v1.begin(), v1.end(), back_insert_iterator<vector<int>>(v2));