【STL】vector的insert步骤详解

【STL】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;
}