【发布时间】:2012-03-18 11:08:02
【问题描述】:
如果我想通过 ref 传递一个数组怎么办?数组是指向其第一个元素的指针,我想通过 ref 传递“整个数组”。如果我定义
void someFunction(double& adouble){...}
那么 adouble 是对双精度的引用,而不是双精度数组。
如果我定义
void anotherFunction(double* adouble){...}
那么我的参数是一个指向双精度或数组的指针,但它不是通过 ref 传递的,对吧?
感谢和问候
【问题讨论】:
-
数组不是指向其第一个元素的指针。数组就是数组。指针是指针。如果你想传递数组,你几乎肯定想使用
std::vector -
一个注释是不够的:数组不是指针。在它给你带来更多麻烦之前,把这个错误的想法从你的脑海中清除掉。
标签: c++ arrays pointers pass-by-reference