我正在尝试使指针指向二维指针数组。语法是什么?如何访问元素?
最佳答案
按照法律规定,方法如下:
// Create 2D array of pointers:
int*** array2d = new (int**)[rows];
for (int i = 0; i < rows; ++i) {
array2d[i] = new (int*)[cols];
}
// Null out the pointers contained in the array:
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
array2d[i][j] = NULL;
}
}
注意删除包含的指针、行数组和列数组,并按正确的顺序分别删除。
但是,在 C++ 中,您更频繁地创建一个在内部管理一维指针数组的类并重载函数调用运算符以提供二维索引。这样你就真的有一个连续的指针数组,而不是一个指针数组。
关于c++ - 如何在 C++ 中分配一个二维指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1768294/