当前位置:  开发笔记 > 编程语言 > 正文

删除还是虚拟删除?

如何解决《删除还是虚拟删除?》经验,为你挑选了1个好方法。

我正在写一个lib和一个演示项目.该项目并不关心我使用的lib版本(我可以使用sdl,directx或我喜欢的任何版本作为gfx后端).为了得到我做的对象

Obj *obj = libname_newDevice();

现在,我应该使用删除还是应该obj->deleteMe();?我问,因为我不是在做新的所以我不应该删除?

我有obj->create(theType);一个带有Obj接口的类.我真正的问题是我需要一个libname_deleteDevice();或者obj->deleteMe()很好,因为我在界面中有一个deleteMe?



1> Jaywalker..:

既然你正在抽象内部的创造libname_newDevice()(我不得不说这不是一个好方法),你应该使用类似的东西来销毁libname_destroyDevice (obj).

正如Martin的评论所暗示的那样,最好将它们放在自定义类的构造函数和析构函数中,您只需要在堆栈上创建,编译器将负责其余的工作.

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有