分配数组中的元素

时间:2014-11-08 21:40:35

标签: c++ pointers

以下代码分配10个元素的指针数组到双精度。

int i=0;

double* dp[10];


for (int i = 0; i < 10; ++i)
{
    *(dp[i]) = 0.0;
}
for (int i = 0; i < 10; ++i)
{
    cout<< *dp[i]<< endl;
}

现在如何将这些双打中的每一个初始化为0.0。

2 个答案:

答案 0 :(得分:1)

编写一个循环,为每个double分配空间并初始化它:

for (i = 0; i < 10; i++) {
    dp[i] = new double;
    *(dp[i]) = 0.0;
};

你确定你真的需要一个指针数组,而不仅仅是一系列双打?后者会更简单:

double dp[10] = {};

空的初始化列表默认将所有元素都默认为0.0

答案 1 :(得分:-1)

std :: vector的示例:

std::vector<double*> myArray(10);
std::fill(myArray.begin(), myArray.end(), new double(0.0));

(更喜欢STL中的类而不是C ++中的C风格数组)