ex050303.cpp

来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C++ 代码 · 共 45 行

CPP
45
字号
// Ex050303.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdio.h"

class CTest
{	
public:
	void Release();
	~CTest();	
};

CTest::~CTest()
{
	printf("~CTest");
}

void CTest::Release()
{
	delete this ;
}


int main(int argc, char* argv[])
{
	CTest * p = new CTest ;
	//...
	p->Release() ;//已经释放,不会有内存泄露
	
	{//出错,因为a是在栈上分配的,不能delete
		//	CTest a ;
		//	a.Release();
	}
	{
	/*	CTest * p = new CTest ;
	//...
	p->Release() ;
	//...
		delete p ;*/ //被释放了两次
	}
	
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?