C++ 通过引用传递单个元素数组 - 这是事实吗?

标签 c++ arrays pointers

关于通过引用传递变量的快速问题:什么更合适:

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指向的值,它只是将acopy指向NULL 然后立即丢弃它。

如果要按引用传递,按引用传递即可:

void change(int& a) { a = 0; }

//...
int a;
change(a);

关于C++ 通过引用传递单个元素数组 - 这是事实吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28684934/

相关文章:

c++ - 如何保存指针类型c++

c++ - 使用 msbuild 通过命令行编译时出现 LNK2019 错误

C++ 排序巨大的二进制文件

c++ - *it++ 如何对输出迭代器有效?

c++ - 错误 LNK2005 对象已定义

带有条件的javascript过滤方法

javascript - 如何使用 Javascript 动态创建数组?

将 C 文件指针地址转换为整数

javascript - 检查对象是否已经在数组中不起作用

c - 数组作为c中的参数真的是引用类型吗?