Leo*_*oAM 2 c++ arrays pointers
关于通过引用传递vars的快速问题:更合适的是:
1)使用经典指针语法:
void change(int *a) { a = 0; }
...
int number = 1;
change(&number);
Run Code Online (Sandbox Code Playgroud)
2)或者将它作为单个元素数组并默认通过引用传递:
void change(int a[]) { a[0] = 0; }
...
int number[1] = {1};
change(number);
Run Code Online (Sandbox Code Playgroud)
我想到的东西.想知道如果使用一个元素的数组而不是一个简单的变量,资源使用的差异如何.
第一个值将不会改变a指向,它只是使一个副本的a点NULL,然后立即将其丢弃.
如果你想通过引用传递,只需通过引用传递:
void change(int& a) { a = 0; }
//...
int a;
change(a);
Run Code Online (Sandbox Code Playgroud)
让它成为一个元素数组是没有意义的。只需使用&运算符将其作为参考传递即可。通过将其设为单元素数组,您会使代码更加复杂,混淆变量的真正用途,并使下一个开发人员的生活更加烦人。
至于您的资源使用问题,没有任何不同的资源。在引擎盖下,它们基本上都只是一个指针。