Grz*_*nio 12 c++ memory-management factory
一个新手问题:我有一个带有一些虚函数的类的层次结构,我正在尝试实现一个工厂方法,但我不确定什么是最好的方法:
我将非常感谢工厂方法和最小客户端的示例,它有效并且不会泄漏内存.
我的背景是C#和Java,所以我在C++ atm中的内存管理方面有点迷失.
选项3和4从一开始就不存在,因为它们根本不起作用:3个切片对象,4个创建内存泄漏或无效引用.
从另外两种方法来看,我强烈赞成2:返回一个智能指针.事实上,如果可能的话,努力完全避免原始指针.不幸的是,C++使得这个问题变得很多(这不是一个微不足道的反对意见!任何曾经用C++编写面向对象代码并且使用智能指针的人分享我的痛苦) - 但另一种选择更加痛苦.
当然,也有是替代5:使用原始指针和一个垃圾收集器.