如何将多个int一次传入vector?
目前,我必须多次使用vector.push_back() 。 
我目前使用的代码是
  std::vector<int> TestVector; TestVector.push_back(2); TestVector.push_back(5); TestVector.push_back(8); TestVector.push_back(11); TestVector.push_back(14); 
 有没有办法只使用vector.push_back()一次,只是将多个值传入向量? 
尝试将数组传递给向量:
 int arr[] = {2,5,8,11,14}; std::vector<int> TestVector(arr, arr+5); 
你总是可以调用std :: vector :: assign来将数组赋值给vector,调用std :: vector :: insert来添加多个数组。
如果你使用C ++ 11,你可以尝试:
 std::vector<int> v{2,5,8,11,14}; 
要么
  std::vector<int> v = {2,5,8,11,14}; 
你也可以使用vector :: insert
 std::vector<int> v; int a[5] = { 1,2,3,4,5 }; v.insert(v.end(), a, a+5); 
  编辑:当然,在现实世界的编程中,您应该使用非常丑陋但安全的v.insert(v.end(), a, a+(sizeof(a)/sizeof(a[0])));  ,或_ countof()macros,如果你有它的定义。 
你可以用初始化列表来完成它:
 std::vector<unsigned int> array; // First argument is an iterator to the element BEFORE which you will insert: // In this case, you will insert before the end() iterator, which means appending value // at the end of the vector. array.insert(array.end(), { 1, 2, 3, 4, 5, 6 }); 
你也可以使用Boost.Assignment :
 const list<int> primes = list_of(2)(3)(5)(7)(11); vector<int> v; v += 1,2,3,4,5,6,7,8,9; 
使用vector :: insert(const_iterator position,initializer_list il); http://www.cplusplus.com/reference/vector/vector/insert/
 #include <iostream> #include <vector> int main() { std::vector<int> vec; vec.insert(vec.end(),{1,2,3,4}); return 0; }