c++ - 引用与指针

标签 c++ pointers reference

有什么区别?因为这个:

int Value = 50;
int *pValue = &Value;

*pValue = 88;

和引用版本做同样的事情:

int Value = 50;
int &rValue = Value;

rValue = 88;

哪个更好用?谢谢。

最佳答案

在这种情况下,它们是等价的。

你使用哪个并不重要,也不是“最好的”。

如果您真的想在它们之间进行选择,那么引用可能更惯用。我通常尽可能地坚持引用,因为我的强制症喜欢它:它们感觉“更紧密”,不能重新绑定(bind)(无论你是否注意到),并且不需要取消引用来获得值(value)。

但我不知道对于此类案件的问题有任何普遍共识。

另外请注意,如果您的实现不使用指针实现引用,则两者可能无法编译为相同的代码,尽管我知道没有这样的实现,而且您无论如何也不会注意到差异。

关于c++ - 引用与指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21884825/

相关文章:

google-sheets - 公式中的范围引用在一种情况下发生变化,但在另一种情况下不变

c++ - 固定 z 轴上的简单线平面相交?

c++ - 使用 linux 自动工具

c - 打印字符串时出现意外错误

c - 地址分配中的问题

c++ 为什么要使用引用?

c++ - CMake 错过 Qt5 的 QT_DEFINITIONS 变量

c++ - 具有编译时 & 符号检查的指针参数

c++ - 非静态成员函数的无效使用 - Arduino - Automaton

C++ 引用/指针