所以我自学C++,对数组有疑问。我知道如果我像这样声明一个二维数组:
char board[8][8];
我创建了一个高度和宽度为 8 的二维数组。但是,我想知道是否有办法将这些尺寸设置为变量,以便用户可以输入他们想要的高度和宽度,我在 C++ 中试过这个visual studio 不高兴。
int rowSize = 0;
int colSize = 0;
cin >> rowSize >> colSize;
char board[rowSize][colSize];
谁能帮帮我?
最佳答案
因为这是用 c++
标记的,也许 std::vector
适合你。它很像一个数组,但更方便,也更适合这个目的。您可以使用此初始化程序调用简单地初始化嵌套 vector 的二维数组(感谢 Bob__ 提供了这个更简单的解决方案):
int n = 5;
int m = 10;
std::vector<std::vector<char>> board (n, std::vector<char>(m, 'a'));
根据示例,这将创建板并将所有字段初始化为 'a'
。您可以使用与 C 样式数组相同的语法访问和操作数据:
char x = board[4][2];
board[3][3] = 'o';
最后但并非最不重要的一点是,有许多方便的特性和函数可以让您比使用 C 风格的数组更容易地执行诸如复制之类的操作。查看 std::string
的文档 here .
关于c++ - C++中具有可变尺寸的二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52703919/