成员变量作为引用

lit*_*tuk 4 c++ reference member

将成员变量声明为引用有什么好处?我看到人们这样做,但不明白为什么。

Sas*_*ein 5

一种有用的情况是,当您无权访问该对象的构造函数,但又不想通过指针进行间接操作时。例如,如果一个类A没有公共构造函数,并且您的类想要A在其构造函数中接受一个实例,那么您可能需要存储一个A&. 这也保证了引用被初始化。

  • @a1ex07:取消引用空指针是未定义的行为。询问“引用是否已初始化?” 在这一点上毫无意义,所以你的结论失败了。取消引用空指针是您的错误,而不是(正确地)假设引用有效的错误。 (4认同)