Вы имеете в виду инициализацию std :: vector последовательностью целых чисел?
int i[] = {1, 2, 3, 4, 5};
std::vector<int> myVector(i, i+ (sizeof(i)/sizeof(int)));
Если вы намеревались создать вектор некоторых элементов, чтобы вы могли выполнить присваивание, используя их значения индекса.Здесь следующее утверждение объявляет и инициализирует вектор с его элементами по умолчанию, инициализированными равными 0.
std::vector<int> myVector(5); // constructs a vector of size five integers.
for (int x = 0; x < 5; x++)
myVector[x] = i[x]; // assign values using subscript [..]
Но я думаю, что еще лучший способ сделать это - @CashCow, упомянутый в его ответе.
Также обратите внимание, что вы также можете предварительно выделить память для добавления элементов в вектор, избегая повторных выделений памяти.
Например:
std::vector<int> myVector; // empty vector for integers
myVector.reserve(5); // pre-allocates memory for five integers
for (int i = 0; i < 5; i++) // now, you can add your elements
myVector.push_back(i);
Обычно это хорошоИдея предварительно выделить память, если вы знаете размер элементов, т.е. в случае большого количества элементов, когда производительность является важным фактором.