在 C++ 中将值插入多维向量

Inserting values to a multidimensional-vector in C++

我有一个小问题。

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

mVector 看起来像这样。

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

起初我是这样添加值的。

board[row][col] = value;

"value" 是字符串,row/col 是整数。

这是向 mVector 添加值的合法方法吗?我问这个是因为当我更新电路板时,通过上面的操作,我出于某种原因无法运行我正在解决电路板的其他功能,给电路板提示等等。在我将新值存储到它之前,所有功能都可以正常工作。我是否可能需要为向量使用其他类型的内置函数,如插入、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