C++入门经典-例5.15-回收动态内存的一般处理步骤
1:正确的步骤应该是如下代码所示:
// 5.15.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
void swap(int* a,int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int* pI =new int;
*pI = 3;
int k =5;
swap(pI,&k);
std::cout<<"*pI:"<<*pI<<std::endl;//使用std名字空间
std::cout<<"k:"<<k<<std::endl;
delete pI ;//回收动态内存
pI = NULL; //将pI置空,防止使用已销毁的内存。和上一语句不可颠倒,否则将造成内存泄漏
return 0;
}
//delete后,别忘了将pI置空,防止使用已经销毁的内存。
View Code
运行结果: