#include "stdafx.h"
#include <windows.h>
#include<iostream>
namespace newSpace
{
char *str = new char[20];
void deleteStr() // 其实没有什么用
{
delete[] str;
}
}
char* f1()
{
char *p1 = newSpace::str;
p1 = "LDG";
return p1;
}
void f2()
{
char *p1 = newSpace::str;
delete[] p1;
delete[] p1;
}
void f3()
{
char *p1 = newSpace::str;
char *p2 = newSpace::str;
}
int _tmain(int argc, _TCHAR* argv[])
{
char *p = newSpace::str;
delete[] p;
char* pf1 = f1(); // 没有delete pf1 会造成泄露
std::cout << pf1 << std::endl;
f2(); // 出错
f3(); // 出错
system("pause");
return 0;
}
其实有时候一个类可以解决许多问题,一般不建议 new和delete分开写,但是有些情况还是有必要的