有在類模板std::vector
三個這樣的方法。他們是
iterator insert(const_iterator position, size_type n, const T& x);
template <class InputIterator>
iterator insert(const_iterator position, InputIterator first, InputIterator last);
iterator insert(const_iterator position, initializer_list<T> il);
看來,你的任務是最合適的方法是
template <class InputIterator>
iterator insert(const_iterator position, InputIterator first, InputIterator last);
這裏是一個示範項目
#include <iostream>
#include <vector>
#include <iterator>
int main()
{
std::vector<int> v1 = { 0, 1, 1, 0 };
std::vector<int> v2 = { 1, 2, 3, 2, 1 };
v1.insert(std::next(v1.begin(), 2),
std::next(v2.begin(), 1),
std::prev(v2.end(), 1));
for (int x : v1) std::cout << x << ' ';
std::cout << std::endl;
}
程序輸出是
0 1 2 3 2 1 0
你從哪裏得到這個'std :: assign'? –
@JonathanWakely他可能正在考慮['std :: vector :: assign()'](http://en.cppreference.com/w/cpp/container/vector/assign)。 –