Я знаю, что вы можете инициализировать 1d вектор с некоторым значением следующим образом:
vector<int> vec(10, 100); //creates a vector of size 10 and each element = 100
Теперь я хотел бы сделать то же самое с 2d вектором. Я знаю, что следующее выдаст ошибку, потому что размер столбцов не указан:
vector<vector<int> > vec(10, 100);
Так есть ли способ сделать это? Кроме того, я хочу сохранить размер столбца одинаковым для каждого вектора в двумерном векторе (то есть сетке nxn).
Или, может быть, я могу использовать функцию «std :: fill ()» для этого? И можно ли расширить эту функциональность до сетки nxm?
vector<vector<int>> vec(10, vector<int>(10, 100));
// n m value
Это создаст вектор из 10 векторов размером 10 и с элементами, инициализированными до 100.
Других решений пока нет …