c++ - 如何在 C++ 中声明和初始化 2d int vector ?

标签 c++

我正在尝试做类似的事情:

#include <iostream>
#include <vector>
#include <ctime>

class Clickomania
{
    public:
        Clickomania();
        std::vector<std::vector<int> > board;
};

Clickomania::Clickomania()
    : board(12, std::vector<int>(8,0))             <<<<<<<
{

    srand((unsigned)time(0));

    for(int i = 0; i < 12; i++)
    {
        for(int j = 0; j < 8; j++)
        {
            int color = (rand() % 6) + 1;
            board[i][j] = color;
        }
    }
}

但是,显然我不能用这种方式初始化 vector 的“板” vector 。

如何创建二维 vector 类型的公共(public)成员并正确初始化它?

最佳答案

您应该使用允许您为两个 vector 指定大小和初始值的构造函数,这可能会使它更容易一点。

类似于:

vector<vector<int>> v2DVector(3, vector<int>(2,0));

应该可以。

关于c++ - 如何在 C++ 中声明和初始化 2d int vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2733816/

相关文章:

c++ - 如何在 MATLAB 中使用 mex 编译包含 .h 文件?

c++ - struct 和 class 之间的区别以及为双链表构建节点?

c++ - C++ 中的内联函数

C++编译时断言BASE是EXTENDED的基类并且具有相同的内存地址

c++ - 如何在 Eclipse 中将 C 项目与 C++ 静态库(使用 opencv)链接

c++ - 如何通过 CLI 发布使用 C++ 库的应用程序?

c++ - VC++ 和 windows.h 中的 BYTE typedef

c++ - 使用恒等式减去模数

c++ - 在 C++ 代码中找到正确的实现

c++ - 双倍或 float