Я пытаюсь установить значения всех элементов в двухмерном векторе для определенного значения. Насколько я знаю, нельзя использовать memset для векторов, например, как они используются для массивов. Следовательно, я должен использовать std :: fill, чтобы установить все элементы в двухмерном векторе на определенное значение. Однако я знаю, как использовать заливку для одномерного вектора, как показано ниже.
vector<int> linearVector (1000,0);
fill(linearVector.begin(),linearVector.end(),10);
Однако, когда я пытаюсь сделать что-то похожее для 2D-вектора (как показано ниже), это не работает.
vector<vector<int> > twoDVector (100,vector <int> (100,0));
fill(twoDVector.begin(),twoDVector.end(),10);
PS: я знаю, что могу легко спроектировать вложенный цикл for для ручной установки элементов 2D-вектора на желаемое значение. Однако в моей программе это невозможно, поскольку размер двумерного вектора достаточно велик, и параллельно выполняются другие трудоемкие функции (рекурсивные функции).