我正在尝试创建一个类,如下所示:
class CLASS
{
public:
//stuff
private:
int x, y;
char array[x][y];
};
当然,在我将int x, y;
更改为
const static int x = 10, y = 10;
这是不现实的,因为我正在尝试从文件中读取x和y的值。 因此,是否有任何方法可以使用非常量值初始化数组,或者在不同的语句中声明数组并声明其大小?我知道这可能需要创建一个数组类,但我不确定从哪里开始,而且我不想在数组本身不是动态的情况下创建2D动态列表,只是大小在编译时未知。
boost::multi_array
也值得一提吧? - Pavel Minaev: x(read_x_from_file()), y(read_y_from_file()), my_array(x, vector<char>(y)) {}
。话虽如此,我会将文件读取和分配都放在构造函数的主体中进行。我尽量将构造函数初始化器产生的副作用降到最低。 - Johannes Schaub - litb