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

时间:2015-08-24 15:48:25

标签: c++ pointers destructor

Object obj = *obj_ptr;

obj的析构函数,例如如果obj超出范围,释放obj_ptr分配的内存?

2 个答案:

答案 0 :(得分:3)

一般情况下:不,因为obj*obj_ptr的副本,而不是参考。

但这取决于作业的作用。

答案 1 :(得分:0)

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

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