对象的析构函数是否释放用于创建对象的指针所指向的内存?

Does the destructor of an object free the memory pointed by the pointer used to create object?

本文关键字:内存 指针 创建对象 析构函数 是否 释放 用于 对象      更新时间:2023-10-16
Object obj = *obj_ptr;

是否obj的析构函数,例如,如果obj超出作用域,释放由obj_ptr分配的内存?

一般来说:不,因为obj*obj_ptr的副本,而不是引用。

但这取决于赋值的作用

技术上它可以,但这将是非常奇怪的。在几乎所有情况下:没有。

对象所在的内存由new分配,由delete释放。对象不知道它是如何分配的。它可以在堆栈上,可以通过new,在数组中,位置new,一个全局变量。