【发布时间】:2013-04-25 01:41:38
【问题描述】:
类在“create”方法中返回原始指针并在其“destroy”方法中获取原始指针参数是否合适?上述类将指针存储在容器中,并通过destroy方法查找/删除指定的对象。
或者我应该使用智能指针吗?如果我理解正确,智能指针表示所有权,但该类单独负责对象的创建和销毁。
【问题讨论】:
-
有人可能会争论,使用显式
destroy成员函数而不是返回自动调用它的智能指针是否是个好主意。 -
我不会推荐这种方法,因为这会违反 OO 的封装原则。在你的场景中,你不能有一个私有指针并将操作封装在类中
-
管理类创建的对象需要在类外可访问。但是,无论范围如何,我都希望能够在不再需要该对象时删除它。