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

运行结果:

原文地址:https://www.cnblogs.com/lovemi93/p/7526554.html