以下代码分配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。
答案 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风格数组)