Можно ли таким образом инициализировать 2D-вектор (здесь все значения в 2D-векторе 5x4 инициализируются равными 3)?
std::vector<std::vector<int> > foo(5, std::vector<int>(4, 3));
Кажется, это нормально, но везде, где я смотрю в Интернете, люди кажется, рекомендуют инициализировать такой вектор с помощью циклов for и push_back (). Сначала я боялся, что все строки здесь будут указывать на один и тот же вектор, но, похоже, это не так. Я что-то упустил?