通过引用传递函数中的参数与传递指针变量作为函数中的参数之间有什么区别?
有没有路过的C基准,它总是按值传递。
C开发人员可以通过将指针传递给变量并在函数内使用反引用来访问引用来模拟按引用传递。类似于以下内容,它将变量设置为42
:
static void changeTo42 (int *pXyzzy) {
*pXyzzy = 42;
}
:
int x = 0;
changeTo42 (&x);
与C ++真正的按引用传递相反,在这种情况下,您不必为指针烦恼(尤其是指向指针的指针,即使是经验丰富的编码人员有时也可能偶尔诅咒和咬牙切齿):
static void changeTo42 (int &xyzzy) {
xyzzy = 42;
}
:
int x = 0;
changeTo42 (x);
我恳请ISO考虑为下一个C标准添加真正的引用。不一定能在C ++中找到全部功能,只是可以解决人们在调用函数时遇到的所有问题的功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句