How do I pass multiple ints into a vector at once?

Elliott picture Elliott · Jan 28, 2013 · Viewed 119.9k times · Source

Currently when I have to use vector.push_back() multiple times.

The code I'm currently using is

  std::vector<int> TestVector;
  TestVector.push_back(2);
  TestVector.push_back(5);
  TestVector.push_back(8);
  TestVector.push_back(11);
  TestVector.push_back(14);

Is there a way to only use vector.push_back() once and just pass multiple values into the vector?

Answer

Kosiek picture Kosiek · Oct 24, 2016

You can do it with initializer list:

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 });