我有一个小问题。

我正在使用多维矢量,并且想在给定位置向其中插入一些值。我正在wxWidgets中创建数独,并且正在获取玩家放置的图块,并希望将其存储在我的mVector中。

mVector看起来像这样。

vector< vector<string> > board{9, vector<string>(9)};


首先,我像这样添加值。

board[row][col] = value;


“值”是一个字符串,行/列是整数。

这是向mVector添加值的合法方法吗?我之所以这样问是因为,当我更新开发板时,由于上述原因,由于某种原因,我无法在解决开发板的过程中运行其他功能,从而给开发板提供了提示等。在我将新值存储到它之前,所有功能都需要正确处理。我是否需要为矢量使用其他类型的内置函数,例如insert,push_back或其他内容?

最佳答案

由于您将向量声明为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";


Working example

07-26 09:41