gpt4 book ai didi

c++ - 在 C++ 中初始化矩阵是否正确

转载 作者:行者123 更新时间:2023-11-30 04:20:34 26 4
gpt4 key购买 nike

我有一个带有数组数组变量的类。

private  double * array[4][4];

我可以这样初始化吗?

void RealMatrix::init(int i, int j) {
this->array[i][j] = new double;
*(this->array[i][j]) = 0;
}

最佳答案

这将动态分配单个 double 并将二维数组的元素 [i][j] 的指针设置为指向该 double。然后它将值 0 分配给该 double。您可以在一行中执行此操作:

this->array[i][j] = new double(); // value-initialization

或者您可以更明确地将其设置为 0:

this->array[i][j] = new double(0); // direct-initialization

但是,除非您有充分的理由,否则让您的数组成员包含 double 而不是 double* 可能会更好:

double array[4][4];

除非万不得已,否则动态分配某些内容毫无意义。我无法想象您有充分的理由使用如此小的数组。

关于c++ - 在 C++ 中初始化矩阵是否正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15204039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com