是否有区别:
operator delete(some_pointer);
Run Code Online (Sandbox Code Playgroud)
和
delete some_pointer;
Run Code Online (Sandbox Code Playgroud)
如果是这样,有什么区别,哪一个应该使用一个以及该运营商的另一个版本?谢谢.
Dim*_*ima 22
具有讽刺意味的是,delete运营商operator delete()并不是一回事.
delete some_pointer;调用指向的对象的析构函数some_pointer,然后调用operator delete()释放内存.
您通常不operator delete()直接调用,因为如果这样做,将不会调用对象的析构函数,并且您可能最终会出现内存泄漏.
你唯一需要关心的operator delete()是你想要通过覆盖operator new()和进行自己的内存管理operator delete().
最糟糕的是,你也应该知道,delete并且delete []是两个不同的东西.
| 归档时间: |
|
| 查看次数: |
1410 次 |
| 最近记录: |