我正在编写一个具有动态二维整数数组作为字段的类 - 其中最重要的部分是较短的访问时间。我想在头文件中声明它,
//Grid.h
class Grid{
int ** array;
}
然而,它的大小和内容尚未在 cpp 文件中实现的构造函数中定义(可能是从 ini 文件中读取)。
我不确定是否int **array
在标头中声明一个指针并稍后使用
array = new int*[x];
for(i=0;i<x;i++){
array[i] = new int [y];
}
将导致创建一个可访问的数组,并且在其他函数直接调用array[i][j]
其定义中的字段(或其他不太明显的错误)时不会造成麻烦,但是在提到的函数开始调用之前,它会并且必须是已经定义了。
我的问题-这是有效且有效的方法吗?我会接受任何其他想法。
是的,我听说过“向量”类,但我不确定它的效率或读写与整数数组的性能。向量的大小是灵活的,但我不需要它——我的数组一旦设置,就会有固定的大小。
可能我只是太习惯于 Java 风格的int[][] array
代码。