std::vector<int> v;
for (size_t i=0; i<100; i++)
v.push_back(0);
Как видите, это значение повторяется для каждого элемента. Есть ли способ инициализировать вектор без цикла? Если нет, то какой самый быстрый путь?
Заранее спасибо за помощь.
Вы можете использовать конструктор с размером. Это будет инициализировать все элементы. За int
это означает нулевую инициализацию:
std::vector<int> v(100); // 100 elements with value 0
Если вам нужно другое число, вы можете передать второй параметр с желаемым значением:
std::vector<int> v(100, 42); // 100 elements with value 42
Подумайте над ответом @juanchopanza, если вы хотите инициализировать конструкцию; но если вы хотите установить одинаковое значение для всех записей в vector
в любой другой части вашего кода вы можете принять std::fill
.