我刚开始使用C++并且遇到过引用并且没有完全理解.
我读到的引用是对象的替代名称.为什么使用它而不是直接访问对象,因为对引用的任何操作都直接反映在对象上......?
而且,它说
double& dr = 1; ---- says it is an error (some lavalue needed)
const double& cdr = 1; ---- says it is ok.
Run Code Online (Sandbox Code Playgroud)
我不明白它.所以请解释为什么它...
谢谢...:)
Jus*_*ini 11
为什么使用它而不是直接访问对象,因为对引用的任何操作都直接反映在对象上......?
C++按值传递参数,这意味着如果你有一个函数,如:
void foo(MyObject o) { ... }
Run Code Online (Sandbox Code Playgroud)
默认情况下,C++将复制a MyObject,而不是直接使用传入的对象.因此,引用的一个用途是确保您正在处理同一个对象:
void foo(MyObject &o) { ...}
Run Code Online (Sandbox Code Playgroud)
或者,如果您不修改o:
void foo(const MyObject &o) { ... }
Run Code Online (Sandbox Code Playgroud)