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 = ;
int k =;
swap(pI,&k);
std::cout<<"*pI:"<<*pI<<std::endl;//使用std名字空间
std::cout<<"k:"<<k<<std::endl;
delete pI ;//回收动态内存
pI = NULL; //将pI置空,防止使用已销毁的内存。和上一语句不可颠倒,否则将造成内存泄漏
return ;
}
//delete后,别忘了将pI置空,防止使用已经销毁的内存。

运行结果:

C++入门经典-例5.15-回收动态内存的一般处理步骤的更多相关文章

  1. C++入门经典-例5.14-丢失的内存,关于内存泄漏

    1:代码如下: // 5.14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> usin ...

  2. C++入门经典-例5.11-动态分配空间,堆与栈

    1:在程序中定义一个变量,它的值会被放入内存中.如果没有申请动态分配,它的值将会被放在栈中.栈中的变量所属的内存大小是无法被改变的,它们的产生与消亡也与变量定义的位置和存储方式有关.堆是一种与栈相对应 ...

  3. C++入门经典-例6.18-数组的动态分配,动态获得斐波那契数列

    1:有时在获得一定的信息之前,我们并不确定数组的大小.动态分配数组则可以使用变量作为数组的大小,使数组的大小符合我们的要求. 2:科普一下斐波纳契数列:斐波那契数列指的是这样一个数列 1, 1, 2, ...

  4. C++入门经典-例8.7-多态,利用虚函数实现动态绑定

    1:多态性是面向对象程序设计的一个重要特征,利用多态性可以设计和实现一个易于扩展的系统.在C++语言中,多态是指具有不同功能的函数可以用同一个函数名,这样就可以用一个函数名调用不同内容的函数,发出同样 ...

  5. C++入门经典-例7.10-运算符的重载,重载加号运算符

    1:曾经介绍过string类型的数据,它是C++标准模版库提供的一个类.string类支持使用加号“+”连接两个string对象.但是使用两个string对象相减确实非法的,其中的原理就是C++所提供 ...

  6. C++入门经典-例7.9-对象数组,批量化生产

    1:在数组内容中我们了解到,数组是通过指针分配到的一段额定大小的内容.同样,数组也可以包含对象.声明对象数组的形式如下: box boxArray[5]; box boxArray2[2]={box( ...

  7. C++入门经典-例7.6-this指针,同一个类的不同对象数据

    1:对于类的非静态成员,每个对象都有自己的一份拷贝,即每个对象都有自己的数据成员,不过成员函数却是每个对象共享的.那么调用共享的成员函数如何找到自己的数据成员呢?答案是通过类中隐藏的this指针. 2 ...

  8. C++入门经典-例6.15-通过字符串函数连接两个字符数组

    1:代码如下 // 6.15.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  9. C++入门经典-例6.12-使用数组地址将二维数组输出

    1:以a[4][3]为例 a代表二维数组的地址,通过指针运算符可以获取数组中的元素 (1)a+n代表第n行的首地址 (2)&a[0][0]既可以看作第0行0列的首地址,同样也可以被看作是二维数 ...

随机推荐

  1. 如何在云服务器上使用Docker部署easy-mock

    部署Easy-mock 安装Docker Ubuntu下安装Docker 安装Docker-compose Ubuntu下安装docker-compose 使用Docker部署 Easy-Mock D ...

  2. bash脚本测试总结

    bash脚本测试总结   跟踪脚本的执行 可以让bash打印出你脚本执行的过程中的所有语句.这很简单,只需要使用bash的-x选项就可以做到,下面让我们来看一下.   下面的这段脚本,先是输出一个问候 ...

  3. 数据绑定-Java的基本数据类型绑定

    Demo.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  4. oppo 手机不能连接appium,提示does not have permission android.permission.CLEAR_APP_USER_DATA to clear data

    1)增加配置项noReset=true 2)除了常见开发者选项中打开usb调试,同时还需要开启以下2项,然后重启手机即可

  5. sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1091, "Can't DROP 'users_ibfk_1'; check that column/key exists") [SQL: ALTER TABLE users DROP FOREIGN KEY users_ibfk_1]

    flask 迁移数据库报错 报错: sqlalchemy.exc.InternalError: (pymysql.err.InternalError) (1091, "Can't DROP ...

  6. call,apply,bind的理解

    call,apply,bind均是用于改变this指向. 三者相似之处: 1:都是用于改变函数的this指向. 2:第一个参数都是this要指向的对象. 3:都可以通过后面的参数进行对方法的传参. l ...

  7. Delphi 键盘的编程

  8. Rinetd 通过ECS端口转发到内网RDS

    前置条件 实现目的:开发本地电脑需要连接没有外网地址的RDS,通过ECS进行转发连接到RDS数据库 客户 PC 终端可以 ssh 登录有公网的 ECS 服务器. 有公网的 ECS 服务器可以通过内网访 ...

  9. 团队作业-Beta冲刺(周四)

    一. 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/ 这个作业要求在哪里 https://edu.c ...

  10. ArcMap常用操作

    1.矢量数据融合 数据管理->制图综合->融合 Data Management Tools -> Generalization -> Dissolve