1
|
Praetorian Luchian Grigore · 技术社区 · 15 年前 |
![]() |
1
3
这样做,您就有可能对一个对象调用delete(在您的过程中,在auto\ptr的析构函数中),而该对象不是通过对new()的匹配调用创建的(这是在factory函数中完成的,因此是在dll中完成的)。故障保证,例如当您的dll是在发布模式下编译,而调用进程在调试模式下。 Release()方法更好。 |
![]() |
2
2
这正是COM的工作原理。如果您已经以Win32 API为目标,请避免重新发明此控制盘。使用智能指针存储COM接口指针在Windows编程中非常常见,它们的析构函数调用Release()方法。浏览一下MSDN文档,了解更多信息和想法。 |
![]() |
3
1
如果这是一个公共API,那么您面临的限制是不同模块将链接到的CRT,并且创建对象的CRT也必须是删除它的CRT。 如果你不选择正确的阴极射线管,那将会是一片混乱 既然如此,那么子类甚至不需要实现您的目的。 |