《深度探索C++对象模型》2

第四章: function语意学

非静态成员函数:

名称的特殊处理:

静态成员函数由于缺乏this指针,因此差不多等于非成员函数:

virtual table布局(单一继承):

单一继承下函数调用:

虚拟继承virtual table布局:

指向成员函数的指针:

虚成员函数的地址在编译时期是未知的:

对于 下面的表达式:

float (Point::*pmf) ()=&Point::z;
Point *ptr = new Point3d;

(ptr->*pmf) ();

要使(ptr->*pmf) ()在不管Point::z是否为虚函数的情况下均调用正常,一个可行的处理方法如下(为虚函数时pmf只是一个偏移量,要结合具体对象(或指针)使用):

一个“指向成员函数的指针”是一个结构体:

inline函数:

第五章;构造、析构、拷贝语意学

可以定义和调用纯虚函数:

时间: 2024-08-29 02:33:58

《深度探索C++对象模型》2的相关文章

《大话操作系统——做坚实的工程实践派》(2)

 <大话操作系统--做坚实的工程实践派>(2)

《大话操作系统——做坚实的工程实践派》(硬件篇)

 很多朋友需要PDF,经过这几天的辛苦校对,当然目前只校对了一部分,那就先发这一部分的PDF PDF:<大话操作系统--做坚实的工程实践派>(硬件篇)下面是一部分PDF的截图,可以先预览一下

《大话操作系统——做坚实的工程实践派》(5)

有人说我不是只会玩X86吗?我现在铁板钉钉的申明:我其实兼通:ARM.IA-32.IA-32e.AMD64, ?了解MIPS,但没做过MIPS因为确实没有相应的MIPS硬件平台. ?

《大话操作系统——做坚实的工程实践派》(9)

20年前,对操作系统来说,虚拟内存是个高大上的玩意,它不仅仅是具备内存保护的功能,也给应用程序的独立开发带来了方便 ,其实它的底层逻辑是一个叫MMU的东西完成了一些重要的工作--

《大话操作系统——做坚实的工程实践派》(4)

 操作系统内核必须要关注一个具体硬件平台的设备

《大话操作系统——做坚实的工程实践派》(6)

 继续写硬件体系,这个不写完,不会写操作系统内核,因为根基不正,则难于达到上层境界.

《大话操作系统——做坚实的工程实践派》(1)

1《大话操作系统——做坚实的工程实践派》(8.1)(指令集未完待续)

大多数情况,操作系统内核用纯C语言是写不了的,因为有些关键功能,重要代码段,还是得用汇编指令干上一把才行, 本书不会过于详细的介绍ARM920T处理器所有的指令以及每条指令所有的详细使用方式.因为,一.篇幅所限,二.本书不是介绍某一特定处理器的指令集的专著.但是也不用害怕,笔者会尽量做到写操作系统内核时足够使用.

《大话操作系统——做坚实的工程实践派》(7)

 写操作系统内核需要了解一个具体计算平台的CPU,包括这个CPU里的寄存器和异常中断处理机制

《大话操作系统——做坚实的project实践派》(2)

?? ?<大话操作系统--做坚实的project实践派>(2)? 原文地址:https://www.cnblogs.com/llguanli/p/8451832.html