инициализировать вектор в нули C ++ / C ++ 11

Я знаю, что в C ++ 11 они добавили функцию инициализации переменной как таковой

double number = {}; // number = 0
int data{};  // data = 0

Есть ли аналогичный способ инициализацииstd::vector фиксированной длины до нуляs?

 avakar28 окт. 2012 г., 16:27
std::vector vec(42);
 balki28 окт. 2012 г., 16:58
Кстати, это не ново в C ++ 11, вы можете сделать это и в предыдущих версиях

Ответы на вопрос(1)

Решение Вопроса

Ты неДля этого нужны списки инициализации:

std::vector<int> vector1(length, 0);
std::vector<double> vector2(length, 0.0);
</double></int>
 jozefg28 окт. 2012 г., 16:32
@ronag хорошо просто проверяю
 Johannes Schaub - litb28 окт. 2012 г., 16:32
@ronag я написал свой собственный ответ, потому что в этом случае явный пример не обязательно является хорошим примером, если int не тот тип, с которым он работает. общее программирование доступно на с ++, но когда мне напомнили, что вы можете вообще пропустить аргумент, я удалил свой ответ.
 ronag28 окт. 2012 г., 16:30
@jozefg: Да, это сработает, хотя нет ничего плохого в том, чтобы четко указывать, что вы хотите, чтобы код делал.
 Nikos23 июл. 2017 г., 18:18
Вектор инициализируется равным 0 автоматически, если вы не укажете какое-либо другое значение в объявлении, как показано в ronag.
 jozefg28 окт. 2012 г., 16:29
Ты нене нужно явно указывать 0, не так ли? простоvector(length) должно сработать?

Ваш ответ на вопрос