【问题标题】:Inserting values to a multidimensional-vector in C++在 C++ 中将值插入多维向量
【发布时间】:2015-01-02 12:39:18
【问题描述】:

我有一个小问题。

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

mVector 看起来像这样。

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

一开始我已经像这样添加了值。

board[row][col] = value;

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

这是向 mVector 添加值的合法方式吗?我问这个是因为当我更新电路板时,通过上面的操作,由于某种原因,我无法运行我正在解决电路板的其他功能,向电路板提供提示等等。在我将新值存储到它之前,所有功能都可以正常工作。我是否可能需要为向量使用其他类型的内置函数,例如 insert、push_back 或其他东西?

【问题讨论】:

    标签: c++ vector multidimensional-array wxwidgets


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 1970-01-01
      • 1970-01-01
      • 2021-05-11
      相关资源
      最近更新 更多