在什么情况下您想要定义对某个内存块的引用?
例如:
相对于简单地书写,应该写成:
例如:
const int & r = 8;
相对于简单地书写,应该写成:
int r = 8;
将长表达式用对象替换成更短的引用,可以使代码更易读。例如:
const int &SphereRadius = Configuration::getInstance()->sphere->radius;
每当配置同时更改(例如在另一个线程中)时,您的引用将被更新。
您展示的代码只是一个更大工具的简单可能性。在许多情况下,您之前理解的示例是无意义的。这种引用的主要目标是为对象设置别名。
通过引用将对象传递到函数中,并能够修改所引用的对象而不会造成指针的混淆。
在基于范围的循环中使用它们以修改容器中的迭代项。
在某些情况下通过较简单的表达式缩短表达式等。
const Foo& ref = Foo(); // creates a temporary Foo, destructor is not invoked now