Можно ли использовать конструкторы для инициализации 2D-вектора как однострочного в C ++?

Можно ли таким образом инициализировать 2D-вектор (здесь все значения в 2D-векторе 5x4 инициализируются равными 3)?

std::vector<std::vector<int> > foo(5, std::vector<int>(4, 3));

Кажется, это нормально, но везде, где я смотрю в Интернете, люди кажется, рекомендуют инициализировать такой вектор с помощью циклов for и push_back (). Сначала я боялся, что все строки здесь будут указывать на один и тот же вектор, но, похоже, это не так. Я что-то упустил?

7
задан Erik 11 March 2011 в 19:06
поделиться