我知道引用是语法糖,因此代码更容易读写.
但有什么区别?
以下答案和链接摘要:
NULL
),而引用总是指对象.&obj + 5
).澄清一个误解:
C++标准非常谨慎,以避免规定编译器如何实现引用,但每个C++编译器都将引用实现为指针.也就是说,声明如下:
Run Code Online (Sandbox Code Playgroud)int &ri = i;
如果它没有完全优化,则分配与指针相同的存储量,并将地址
i
放入该存储中.
因此,指针和引用都使用相同数量的内存.
作为基本规则,
有趣的读物:
我对编程相当陌生。我刚刚在大学课程中从 C 转到 C++,并且遇到了我以前在 C 中从未见过的东西。有时在类型之后,无论是在函数声明中还是在传递参数中,都会&
紧跟在类型之后。例如,我们在我们的一个项目中使用了一个名为 Customer 的结构体,其中一些函数通过Customer&
。为什么在类型之后是&符号,而不是在前面?谢谢!
我现在正在使用C++中的异常,我注意到之前使用过的一个字符,但不是这样的.它是&符号,由cplusplus.com用作:
catch (exception& e)
虽然我之前使用了像这样pointer = &var
的指针:
它给指针var
变量的位置.
&字符的两种用法有什么不同,如果它们完全不同的话?