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

时间:2015-01-02 12:39:18

标签: c++ vector multidimensional-array wxwidgets

我有一个小问题。

我使用多维向量,我想在给定位置插入一些值。我在wxWidgets中制作了一个数独游戏,并且我获得了玩家放入的牌并希望将它们存储在我的mVector中。

mVector看起来像这样。

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

起初,我已经添加了这样的价值。

board[row][col] = value;

&#34;值&#34;是一个字符串,row / col是整数。

这是向mVector添加值的合法方式吗?我之所以这样问是因为当我更新电路板时,通过上面这样做,我出于某种原因无法运行我的其他功能,我会解决电路板,给电路板提示等等上。在我将新值存储到它之前,所有函数都可以正常工作。 maby是否需要在vector,push_back等内容的函数中使用其他类型的构建?

1 个答案:

答案 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";

Working example