弱弱的问一下,构造与析构问题
构造可以有多个
但是析构只有一个就够了 对么?因为有个默认的析构函数
我的问题是,西够函数也可以有多个么?
[解决办法]
编译器为你生成的析构函数
只会把对象的所占的栈空间退还给线程栈.
这样在类中的
一些指针(他们本身在栈中,它会退栈的)所指向的堆的数据空间(它们不再栈上)并不会自动释放.
这样内存便泄露了
所以你必须自己定义析构函数
另外析构函数给了你最后一次对对象的操作机会,你可以做一些事情,不一定是释放内存.
最后至于只有一个析构函数,我的理解是:这个函数是为了回收空间而存在的,不以你的意志而转移的,在对象退出它的作用域的时候调用的,不需要接受参数,它只是在这样一个时刻就需要发生而已,
所以没有重载的必要.