是否可以在C++中将引用保留为类成员?请举个例子

use*_*312 2 c++ reference

据我所知,引用需要同时声明和初始化.

我猜,它唯一的用途在于传递参数,在某些情况下是多态性.

是否可以将引用保留为类中的数据成员?

如果是的话,我们什么时候需要呢?

请举个例子.

Don*_*eba 5

当它是类的一个组成部分时,您将使用引用作为类成员,没有它,该类无法运行,并且您希望在多个类之间共享此部分或以多态方式使用它:

class Presenter
{
    IView & view;
    IModel & model;

    Presenter(IView & view, IModel & model)
        : view(view), model(model)
    {
    }
};
Run Code Online (Sandbox Code Playgroud)

构造后不能更改引用成员,因此使用引用成员可以强烈声明如何使用该类.使用常规或智能指针可提供更大的灵活性.