【STL】vector的insert步骤详解
【STL】vector的insert方法详解
std::vector的四个insert重载函数:
std::vector的四个insert重载函数:
iterator insert( const_iterator _Where, const Type& _Val ); iterator insert( const_iterator _Where, Type&& _Val ); void insert( const_iterator _Where, size_type _Count, const Type& _Val ); template<class InputIterator> void insert( const_iterator _Where, InputIterator _First, InputIterator _Last );例子:
void test_vector_insert() { std::vector<int> v1; v1.push_back(10); v1.push_back(20); v1.push_back(30); std::cout << "v1 = " ; std::copy(v1.begin(), v1.end(), std::ostream_iterator<int>(std::cout, " ")); std::cout << std::endl; // 方法1: v1.insert(v1.begin() + 1, 40); std::cout << "v1 = "; std::copy(v1.begin(), v1.end(), std::ostream_iterator<int>(std::cout, " ")); std::cout << std::endl; // 方法3: v1.insert(v1.begin() + 2, 4, 50); std::cout << "v1 = "; std::copy(v1.begin(), v1.end(), std::ostream_iterator<int>(std::cout, " ")); std::cout << std::endl; // 方法4: v1.insert(v1.begin() + 1, v1.begin() + 2, v1.begin() + 4); std::cout << "v1 = "; std::copy(v1.begin(), v1.end(), std::ostream_iterator<int>(std::cout, " ")); std::cout << std::endl; }