读完C++对象模型书后,做一个笔记整理
第一章-关于对象
第二章-构造函数语义学
第三章-Data语义学
第四章-Function语义学
第五章-构造拷贝解析语义学
第六章-执行期语义学
第七章-在对象模型的尖端

template

  • 编译器看到template class声明时什么也不会做。必须经过具现后才能使用其中变量。
  • 若声明一个template class具现类型的指针后,也是什么也没有。因为指针不需要触发对象的具现。
  • 如果一个virtual function 被具现出一其具现点紧跟在其class具现点之后

异常处理

  • throw语句会抛出内建类型或自定义类型的异常

  • catch子句用于处理某种类型的异常,在大括号中提供处理程序

  • try子句包含着可能抛异常的代码

  • 异常触发后,控制权会从函数调用中被释放,此时堆栈中每个调用函数都将推离unwinding the stack,推离前局部对象变量会析构。随后进行到程序栈的下一个函数中去继续运行。

  • 在异常触发后,若之前有资源的加锁操作,并不会自动释放。需手动处理,或利用局部对象的析构来自动完成资源锁的释放。

Runtime Type Identification RTTI

  • RTTI对那些展现多态的类型有效,一般是在虚函数表中第一个位置放置指向RTTI的指针
  • 对于指针可以 xx* ptr= dynamic_cast<xx*>(tmp);返回0则代表转换失败,非0为成功。
  • 对于引用fct& rf=dynamic_cast<fct&>(rt);若失败会抛出bad_cast_exception的异常
  • 对于内建类型和非多态类型type_info是静态取得,而非执行期获得。且是在需要时才产生。

在DLL变化后,二进制不兼容会要求必须重新编译使用者代码
如果DLL中含有虚函数,则除非每次DLL都被加载到相同内存位置(实际位置由runtime linker决定),否则虚函数将引发各种问题。因为在调用者代码中vtb中的虚函数地址是固定的。

下一篇 第一章-关于对象

C++对象模型-在对象模型的尖端 第七章笔记相关推荐

  1. 基本IO接口技术——微机第七章笔记

    基本I/O接口技术--微机第七章笔记 文章目录 基本I/O接口技术--微机第七章笔记 前言 MindMap 并行通信和串行通信 通信 基本方法 并行通信 优点 串行通信 特点 并行接口概述 硬件结构( ...

  2. C语言学习-翁凯(第七章笔记)

    C语言学习-翁凯(第七章笔记) 第七章 7.1.1初见函数 素数求和 int m,n;int i;int cnt=0;int sum=0;scanf("%d %d",&m, ...

  3. 鸟哥Linux私房菜:第七章笔记

    第七章:Linux磁盘与文件系统管理 7.1 认识Linux文件系统 文件系统特性 Linux的Ext2文件系统 1. data block 2. inode table 3. Superblock ...

  4. Python程序设计基础第七章笔记:字符串

    Python程序设计基础笔记 目录 Python程序设计基础笔记 第七章:文本处理(一):字符串 7.1 字符串编码格式简介 7.2 转义字符与原始字符串 7.3 字符串格式化 7.3.1 使用 % ...

  5. 软件项目管理第七章笔记---人力资源管理

    以下图片及内容整理自西安交通大学软件学院宋永红老师的ppt(课堂回放)中,仅供学习使用,请勿转载或他用 笔记汇总:软件项目管理笔记汇总_Qlz的博客-CSDN博客 第七章 人力资源管理 人力资源是第一 ...

  6. 机器学习第七章笔记——利用AdaBoost元算法提高分类性能

    目录 引言 一. 基于数据集多重抽样的分类器 1.1 bagging:基于数据随机重抽样的分类器构建方法 1.2 boosting 二. 训练算法 三.基于单层决策树构建弱分类器 四.完整AdaBoo ...

  7. python从入门到实践笔记_Python编程从入门到实践二至七章笔记

    Python 第二章变量和简单数据类型 一. 改变字符大小写 1. 首字母大写 .title() 或者 .capitaliza() 输入: print("xiao ming!".t ...

  8. 计算机组成原理第七章笔记---输入输出

    本文内容整理自西安交通大学软件学院李晨老师的课件,仅供学习使用,请勿转载 计算机组成原理系列笔记汇总:计算机组成原理笔记及思维导图汇总附复习建议_Qlz的博客-CSDN博客 文章目录 文章目录 文章目 ...

  9. 操作系统第七章笔记---进程同步

    本文内容整理自西安交通大学软件学院田丽华老师的课件,仅供学习使用,请勿转载 操作系统系列笔记汇总:操作系统笔记及思维导图汇总附复习建议_Qlz的博客-CSDN博客 文章目录 文章目录 文章目录 思维导 ...

最新文章

  1. hdu 4309 最大流 + DFS
  2. 亚马逊面试有几轮_经过几个月的Google面试准备,我被亚马逊录用
  3. Visual Studio 2010 旗舰版免序列号安装体验
  4. 智能客户端研究笔记(三)
  5. 搭建zookeeper集群环境详解
  6. java hbase流量日志,Spark+Hbase 亿级流量分析实战(日志存储设计)
  7. MyBatis 学习之路其一:使用mybatis 创建一个简单的程序
  8. linux下c语言创建进程实验报告,linux下的c语言编程实验报告
  9. 小马哥讲Spring核心编程思想 第十周 Spring资源管理
  10. PNAS:植物香豆素塑造拟南芥合成根系微生物组的组成
  11. PT100铂热电阻三种测温方法介绍
  12. 从0到1CTFer成长之路环境搭建详细教程
  13. 简约至上(交互设计四策略)
  14. 《Android源码设计模式解析与实战》读书笔记(十六)
  15. C 语言时间函数 秒 毫秒 微秒
  16. Cxf+WebService集成拦截器
  17. idea中jar包关联源码
  18. 对先前的CLAY对百度知道进行的XSS漏洞的payload进行分析
  19. PHP三种数组合并方式
  20. antlr java_Antlr4 入门

热门文章

  1. 万字博文让我们携手一起走进bs4的世界【python Beautifulsoup】bs4入门 find()与find_all()
  2. 初学verilog必看
  3. Mac idea打开项目Java文件和resources文件都被标记了resources类型
  4. 【Python】常用模块安装命令
  5. 条码打印软件及条码打印机中如何设置纸张大小
  6. C++ Primer 第5版--练习9.14
  7. SWFObject是什么
  8. STOpen硬件设计4-周边模块设计二(CAN+RS485+UART+IO扩展等)
  9. ArcGIS DEM数字高程模型数据的生成
  10. mib2c : You didn‘t give mib2c a valid OID to start with.解决