怎么释放对象
写了一个类,比如class A,之后在代码中A a()创建了一个对象,之后要怎样释放掉这个对象呢,自己调用析构函数没有用,是不是只有自己用new来创建一个对象才可以在中途释放,如果要用new,要怎么写
[解决办法]
楼主的定义方式不用自己去释放,a所处的函数体运行完时,
自会调用a的析构函数。想要用new的话这样:
A *a = new A();
用完之后别忘了用delete释放内存,防止内存泄露。
[解决办法]
new出来的要主动delete,一般来说对象的创建是A *a = new A;而不是new A();这是非常常见的错误。需要与java相区分。
没有new出来的对象由系统自动释放。
[解决办法]
一般数据,系统会在它作用域后自动释放,,只有通过new的需要程序员释放(其实,如果你没有释放,在整个程序结束后,也是会释放的。。但这不是好程序员该做的事 )
释放有
delete obj和 delete[] obj,后面是用来释放数组型的。。
LZ可以看看这篇我转载的文章,,,希望有所帮助( 我是在思考局部变量问题是,疑惑有的变量居然不会消失,而从网上查找资料的,,对LZ应该有所帮助 )
http://blog.csdn.net/gytanonymous/article/details/7060574
http://blog.csdn.net/gytanonymous/article/details/7060584