我正在尝试了解使用此功能的好处...
double *x = new double[n];
而不是仅仅使用这个...
double x[n];
谢谢
#include <iostream>
using namespace std;
main()
{
int n;
cout<<"# of elements in array"<<endl;
cin>>n;
double *x = new double[n]; //or double x[n]
int i;
for(i=0;i<n;i++)
{
cout<<x[i]<<endl;
}
return 0;
}
最佳答案
强制性说明:
std::vector<double> x(n);
胜过你那里的东西。
实际答案:
这样做的好处是
double *x = new double[n];
是合法的,而
double x[n];
不是,除非 n
是编译时常量(在您的情况下,它不是)。
C++ 不支持可变长度数组。
关于c++ - 使用指针对数组进行动态内存分配的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12844100/