Avi*_*ohn 1 c++ pointers memory-management
在C++中,我们delete在new编辑它之后总是需要一个指针.
但我试图理解是否只是删除指针,或者也调用指向对象的析构函数.
例如:
Thing* pointer = new Thing;
// .. some code
delete pointer;
Run Code Online (Sandbox Code Playgroud)
这会调用指向的对象的析构函数pointer吗?或者它只会破坏指针?
这会调用引用的对象的析构函数
pointer吗?
是的,它通过调用它的析构函数来破坏对象.它还释放new分配用于存储对象的内存.
或者它只会破坏指针?
它对指针没有任何作用.它仍然存在,但不再指向有效对象,因此在为其分配有效指针值之前不能使用它.