我有一个小问题。
我使用多维向量,我想在给定位置插入一些值。我在wxWidgets中制作了一个数独游戏,并且我获得了玩家放入的牌并希望将它们存储在我的mVector中。
mVector看起来像这样。
vector< vector<string> > board{9, vector<string>(9)};
起初,我已经添加了这样的价值。
board[row][col] = value;
&#34;值&#34;是一个字符串,row / col是整数。
这是向mVector添加值的合法方式吗?我之所以这样问是因为当我更新电路板时,通过上面这样做,我出于某种原因无法运行我的其他功能,我会解决电路板,给电路板提示等等上。在我将新值存储到它之前,所有函数都可以正常工作。 maby是否需要在vector,push_back等内容的函数中使用其他类型的构建?
答案 0 :(得分:2)
由于您将向量声明为大小为9x9,因此这是分配值的有效方法。
否则你可以将董事会声明为
vector<vector<string>> board;
然后用
填写for (int i = 0; i < 9; ++i)
{
vector<string> row;
for (int j = 0; j < 9; ++j)
{
row.push_back(value); // where value is whatever you want
}
board.push_back(row);
}
但是,一旦电路板的尺寸为9x9,您可以在任何单元格中分配一个值,例如
board[2][4] = "hello";