10
我应该在成员数据中使用指针还是引用?
这是一个简化的示例来说明问题: 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或可以更改时,我通常只在成员数据中使用指针。还有其他理由更喜欢指针而不是数据成员的引用吗? 难道说包含引用的对象是不可分配的,因为引用一旦初始化就不应更改?