class Base { Base() {} void Func(); QString *message; } void Base::Func() { message = new QString; }
应用程序有个内存堆,new的时候就去拿一块内存,delete的时候就把内存放回去。 要是多次调用Func(),就只会去拿,上次拿到的没有放回去且不能再使用,就会造成内存泄漏,即应用程序的内存堆越来越少。所以某块内存确定不会再使用时,都应该delete和赋空。要在析构里面释放,应该自己定义析构函数。 另外,string已经封装得很高层了,一般情况说来是不需要使用指针的。(不用指针的话,析构时会自动释放)
16,203
社区成员
26,591
社区内容
加载中
试试用AI创作助手写篇文章吧