结论
- 如果非必要,不使用new。
- 如果使用new,需要在适当的时机手动销毁。
- 如果嵌套使用的new,尽量在析构函数(我承认这个是我刚学会的[蠢])内销毁。
- c++程序必须好好测试,验证是否有内存泄漏,验证方法,本小白不太会,还
请各位大神指教
。
代码
#include <iostream>
using namespace std;
class tutorial_10
{
private:
string name;
public:
tutorial_10(string name);
~tutorial_10();
};
tutorial_10::tutorial_10(string name)
{
this->name = name;
cout << "创建了:" << this->name << endl;
}
tutorial_10::~tutorial_10()
{
cout << "销毁了:" << this->name << endl;
}
void testc()
{
tutorial_10 *c = new tutorial_10("c");
}
void testd()
{
tutorial_10 d("d");
}
void testa2(tutorial_10 a){
cout << "执行了: teste2" << endl;
}
void testa3(tutorial_10 &a){
cout << "执行了: teste3" << endl;
}
void testa4(tutorial_10 *a){
cout << "执行了: teste4" << endl;
}
int main()
{
tutorial_10 a("a");
testa2(a);
testa3(a);
testa4(&a);
tutorial_10 *b = new tutorial_10("b");
testc();
testd();
tutorial_10 *e = new tutorial_10("e");
delete b;
}
log
创建了:a
执行了: teste2
销毁了:a
执行了: teste3
执行了: teste4
创建了:b
创建了:c
创建了:d
销毁了:d
创建了:e
销毁了:b
销毁了:a