我想知道在 C++ 中完成设计困境的最佳方法可能是什么......
我有一个类,其中包含另一个类类型的成员变量Base
,并且创建的真实对象是Derived
从Base
.
该类不需要修改这些变量,它只是使用它们。其他人正在创建这些变量。这些Derived
类还需要转到我类中的容器(std::vector、QList 等)类,因此它们应该执行正确的复制构造和分配。
所以,我想知道什么可能是最好的:
- 将成员变量创建为 a
Base*
并让我们管理它们以及它们使用的内存。这导致了经典的内存泄漏问题......有人在不再使用对象时忘记删除它。 - 将成员变量创建为 a
Base&
,让我们祈祷它们在某处超出范围时不会消失。