C++ 通过引用传递单个元素数组 - 这是事实吗?
C++ Pass by reference a single element array - It's factible?
关于通过引用传递变量的快速问题:还有什么合适的方法:
1) 使用经典指针语法:
void change(int *a) { a = 0; }
...
int number = 1;
change(&number);
2) 或者将其作为单个元素数组,并默认通过引用传递:
void change(int a[]) { a[0] = 0; }
...
int number[1] = {1};
change(number);
我想了一下。想知道如果使用一个元素的数组而不是一个简单的变量,那么资源使用会有什么不同。
第一个不会更改a
指向的值,它只是将a
的副本指向NULL
,然后立即丢弃它。
如果你想通过引用,只需通过引用:
void change(int& a) { a = 0; }
//...
int a;
change(a);
两者都没有。C++对此有参考。
void change(int& a) { a = 0; }
将其设为单元素数组毫无意义。只需使用&
运算符将其作为引用传入即可。通过使其成为一个单元素数组,您的代码变得更加复杂,混淆了变量的真正用途,并使下一个开发人员的生活更加令人讨厌。
至于您的资源使用问题,没有任何资源不同。在引擎盖下,它们基本上都只是一个指针。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 使用指针从C++中的数组中获取最大值
- C++使用整数的压缩数组初始化对象
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '