1.动态分配的对象的析构函数

 class man{
public:
man(){
cout<<"man begin"<<endl;
};
~man(){
cout<<"man end"<<endl;
}
}; int _tmain(int argc, _TCHAR* argv[])
{
man *m = new man();
return ;
}

输出为  :

man begin

动态分配的类必须在执行delete函数后才执行析构函数;

在13行后加入 delete m;

输出为:

man begin

man end

2.局部的值对象的析构函数

局部对象的析构函数执行是在其所在的{}结束时执行

 class man{
public:
man(){
cout<<"man begin"<<endl;
};
~man(){
cout<<"man end"<<endl;
}
};
void runMan()
{
man m;
cout <<"man run"<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
runMan();
return ;
}

输出结果为:

man begin

man run

man end

假如修改runMan()的实现形式为

 void runMan()
{
{
man m;
}
cout <<"run man"<<endl;
}

输出结果为:

man begin

man end

man run

学习笔记---C++析构函数心得的更多相关文章

  1. C++学习笔记25,析构函数总是会宣布virtual

    为了永远记住析构函数声明virtual----><<effective c++>> 为这句话不一定对,但无需质疑的是这句话是非常实用的. 查看以下的样例: #includ ...

  2. PHP学习笔记之析构函数以及static,self,parent关键字

    引用 $jordan1 = &$jordan; 当jordan1 = null; //此时会直接调用析构函数 而当无&时,就需要等到所有的引用都为null时,才调用析构函数析构  乔丹 ...

  3. python 3.x 学习笔记10 (析构函数and继承)

    1.类变量的用途:大家公用的属性,节省开销(内存) 2.析构函数 在实例释放和销毁的时候执行的,通常用于做一些收尾工作,如关闭一些数据库链接和打开的临时文件 3.私有方法两个下划线开头,声明该方法为私 ...

  4. 【c# 学习笔记】析构函数

    析构函数 用于在类销毁之前释放类实例所使用的托管和非托管资源.对应c#应用程序所创建的大多数对象,可以依靠.net Framework的垃圾回收站(GC) 来隐式地执行内存管理任务.但若创建封装了非托 ...

  5. [学习笔记]PCL使用心得

    最近开始做研究生毕设,有一部分因为没有什么好的思路,就把以前用过的PCL点云搬出来,重新用源码装了一遍PCL,一开始装的过程中没什么大问题,在后面用的时候碰到了很多小问题,特此记录. 1.PCL版本问 ...

  6. 有关c#的学习笔记整理与心得

    [ 塔 · 第 一 条 约 定 ] 整理c#:Array Arraylist List Hashtable Dictionary Stack Queue等 Array 的容量是固定的,而 ArrayL ...

  7. Zim学习笔记 (Fedora)

    俗话说好记性不如烂笔头, 对于一个搞IT的人来说最好的笔毫无疑问就应该是电脑了, 但最好的本呢? 之前一直在找一款适合自己的笔记软件, 找来找去只有Zim适合自己, 当然对于有编辑器之神之美誉的ema ...

  8. SpringBoot学习笔记(7):Druid使用心得

    SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> ...

  9. 从实例学习 Go 语言、"并发内容" 学习笔记及心得体会、Go指南

    第一轮学习 golang "并发内容" 学习笔记,Go指南练习题目解析.使用学习资料 <Go-zh/tour tour>.记录我认为会比较容易忘记的知识点,进行补充,整 ...

随机推荐

  1. Docker系列(五)OVS+Docker网络打通示例

    环境说明 两个虚拟机 操作系统Centos7 DOcker版本1.8 脚本内容: 1  4  7  10  19  27  32    33  39   -j ACCEPT 47    48  # R ...

  2. HW4.4

    public class Solution { public static void main(String[] args) { final double KILOMETERS_PER_MILE = ...

  3. [读书笔记]算法(Sedgewick著)·第二章.初级排序算法

    本章开始学习排序算法 1.初级排序算法 先从选择排序和插入排序这两个简单的算法开始学习排序算法.选择排序就是依次找到当前数组中最小的元素,将其和第一个元素交换位置,直到整个数组有序. public s ...

  4. [Javascript] Create an Array concatAll method

    In addition to flat Arrays, programmers must often deal with nested Arrays. For example let's say we ...

  5. textarea文本域宽度和高度(width、height)自己主动适应变化处理

    文章来源:http://www.cnblogs.com/jice/archive/2011/08/07/2130069.html <HTML> <HEAD> <TITLE ...

  6. android101 获取、备份、插入短信

    package com.itheima.getsms; import java.io.File; import java.io.FileNotFoundException; import java.i ...

  7. systemtap 列出所有linux 内核模块与相关函数0

    diskiohttp://blog.163.com/digoal%40126/blog/static/16387704020131015105532435/ [root@localhost linux ...

  8. c语言学习

    #include <stdio.h>void sum_diff(int *n1,int *n2,int *sum,int *diff){ *sum=*n1+*n2; *diff=(*n1& ...

  9. 推荐一本好的c#高级程序设计教程

    哪位大神推荐一本好的c#高级程序设计教程 小弟在此感激不尽,谢谢

  10. 《app研发录》第一章 重构,夜未眠笔记

    1.1 重新规划android的项目结构     重新规划android的目录结构分两步: 1.建立AndroidLib类库,将与业务无关的逻辑转移到AndroidLib. acitivity存放的是 ...