doc*_*doc 13 c++ destructor void-pointers delete-operator
是否delete ptr
不同于operator delete(ptr)
仅在于此,即delete
调用ptr
析构函数?或者换句话说,delete ptr
首先调用析构函数ptr
然后operator delete(ptr)
释放已分配的内存吗?然后在delete ptr
技术上等同于以下内容:
T * ptr = new T;
//delete ptr equivalent:
ptr->~T();
::operator delete(static_cast<void *>(ptr));
Run Code Online (Sandbox Code Playgroud)
?
delete ptr
将执行重载解析operator delete
,因此它可能不会调用全局::operator delete
但是,不然,是的.该delete
运营商调用析构函数有关,如果有的话,然后调用operator delete
.