C++ 对象的析构函数是否释放用于创建对象的指针所指向的内存?
obj的析构函数(例如,如果obj超出作用域)是否释放obj_ptr分配的内存?一般来说:否,因为obj是*obj_ptr的副本,而不是引用 但这取决于作业的内容。从技术上讲,它可以,但那将是非常奇怪的。在几乎所有情况下:没有C++ 对象的析构函数是否释放用于创建对象的指针所指向的内存?,c++,pointers,destructor,C++,Pointers,Destructor,obj的析构函数(例如,如果obj超出作用域)是否释放obj_ptr分配的内存?一般来说:否,因为obj是*obj_ptr的副本,而不是引用 但这取决于作业的内容。从技术上讲,它可以,但那将是非常奇怪的。在几乎所有情况下:没有 对象所在的内存分配有new,通过delete释放。对象不知道它是如何分配的。它可以在堆栈上,也可以通过new,在数组中,放置new,一个全局变量…,这取决于对象的构造函数和析构函数做什么。换句话说,显示更多代码。否。如果Object*obj=obj_ptr,则为真。否则,
对象所在的内存分配有new,通过delete释放。对象不知道它是如何分配的。它可以在堆栈上,也可以通过new,在数组中,放置new,一个全局变量…,这取决于对象的构造函数和析构函数做什么。换句话说,显示更多代码。否。如果Object*obj=obj_ptr,则为真。否则,它只是*obj_ptrs/assignment/construction的一个副本/
Object obj = *obj_ptr;