C++ 内存释放解析

class Test
{/*.	2.类对象中:.		2.1.对象成员变量的内存 随对象内存释放而释放.			如 对象成员变量:a, b, c.		2.2.对象成员变量指针指向的堆内存(new 出来的),需用 delete 在析构函数中释放 .			如 指针指向的堆内存:*b.	3.类对象内存:.		3.1.若类对象如下main 中 t1,则其对象内存存放于栈中.		3.2.若类对象如下main 中 t2,则其对象内存存放于堆中.		3.3.对象内存包括 a, b, c , 注:b指针变量指向的内存 不属于对象内存*/
private:int a = 1;int *b = new int(2);int c[5];public:Test() {};~Test() { delete b; }
};int main()
{/*.	1.函数中:.		1.1.函数中 栈变量的内存 随函数运行结束 由系统自动释放.			如 栈变量: t1, t2, a, b, c.		1.2.函数中 栈变量指针指向的堆内存(new 出来的),需用 delete 手动释放 .			如 栈变量指向的堆内存:*t2, *b*/Test t1;Test *t2 = new Test();int a = 1;int *b = new int(2);int c[5];c[0] = 1;delete t2, b;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部