将指针传递给具有私有*转子的类是危险的吗?

时间:2011-11-24 18:32:13

标签: c++ pointers memory-leaks shared-ptr

如果我有一个带有私有构造函数和析构函数的类,将经典的c样式指针传递给实例(与shared_ptr相反)是否仍然很危险?是否存在内存泄漏的情况? 我的程序中实例的生命周期由一个友好工厂类专门管理(它还使用私有自定义删除器来允许manager_ptr对象在管理器类内部使用)。

1 个答案:

答案 0 :(得分:1)

如果你已经拥有指针,那么构造函数根本不重要。对于析构函数 - 如果你有一个私有的,你将无法delete,而且我相信,这也会阻止你实例化shared_ptr(正如dandrestor指出的那样 - 除非你提供自定义删除工具,您不仅可以使用shared_ptr)。

所有限制都是在编译时施加的,因此如果由于隐私问题而无法释放内存 ,您将在编译时收到通知。