这是一个简化的示例来说明问题:
class A {};
class B
{
B(A& a) : a(a) {}
A& a;
};
class C
{
C() : b(a) {}
A a;
B b;
};
所以B负责更新C.我的一部分跑通过棉绒的代码并将其whinged关于参考构件:棉绒#1725。这是关于照顾默认拷贝和分配的,这很公平,但是默认拷贝和分配对于指针也很不利,因此那里没有什么好处。
我总是尝试使用引用,因为裸露的指针不确定地介绍了谁负责删除该指针。我更喜欢按值嵌入对象,但是如果需要指针,可以在拥有指针的类的成员数据中使用auto_ptr,并将对象作为引用传递给周围。
当指针可以为null或可以更改时,我通常只在成员数据中使用指针。还有其他理由更喜欢指针而不是数据成员的引用吗?
难道说包含引用的对象是不可分配的,因为引用一旦初始化就不应更改?