在c ++函数中传递参数时,"double a []"和"double*a"之间有什么区别(如果存在)?我的意思是,这两个功能是否相同?
void do_somethingA (double a[], size_t size_a)
{
// ... do something
}
void do_somethingB (double *a, size_t size_a)
{
// ... do something
}
int main()
{
double X[] = {1.,2.,3.,4.,5.};
double *Y;
Y = new double[5];
for(int i = 0; i < 5; i++)
Y[i] = (double) i;
do_somethingA(X,5);
do_somethingA(Y,5);
do_somethingB(X,5);
do_somethingB(Y,5);
delete [] Y;
}
Run Code Online (Sandbox Code Playgroud)
上面的代码没有错误.我只是对此感到好奇,我找不到"google"它的方法,抱歉.
我将静态和动态数组作为参数传递给函数,其中一个使用"double a []"而另一个使用"double*a",一切都编译并执行正常.这只是风格问题吗?
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |