Search code examples
c++vectorinitializationstdstdvector

What is the easiest way to initialize a std::vector with hardcoded elements?


I can create an array and initialize it like this:

int a[] = {10, 20, 30};

How do I create a std::vector and initialize it similarly elegant?

The best way I know is:

std::vector<int> ints;

ints.push_back(10);
ints.push_back(20);
ints.push_back(30);

Is there a better way?


Solution

  • One method would be to use the array to initialize the vector

    static const int arr[] = {16,2,77,29};
    vector<int> vec (arr, arr + sizeof(arr) / sizeof(arr[0]) );