摘要:
原文:C/C++杂记:虚函数的实现的基本原理 1. 概述 简单地说,每一个含有虚函数(无论是其本身的,还是继承而来的)的类都至少有一个与之对应的虚函数表,其中存放着该类所有的虚函数对应的函数指针。例: 其中: B的虚函数表中存放着B::foo和B::bar两个函数指针。 D的虚函数表中存放的既有继承 阅读全文
posted @ 2016-06-13 21:29
米罗西
阅读(222)
评论(0)
推荐(0)
摘要:
原文:C/C++杂记:深入虚表结构 1. 虚表与“虚函数表” 在“C/C++杂记:虚函数的实现的基本原理”一文中曾提到“虚函数表”的概念,只是为了便于理解,事实是:虚函数表并不真的独立存在,它只是虚表(virtual table)中的一部分内容。例: 从图中可已看出,虚表除了包含虚函数指针,还包含其 阅读全文
posted @ 2016-06-13 21:28
米罗西
阅读(1089)
评论(0)
推荐(0)
摘要:
原文:C/C++杂记:深入理解数据成员指针、函数成员指针 1. 数据成员指针 对于普通指针变量来说,其值是它所指向的地址,0表示空指针。而对于数据成员指针变量来说,其值是数据成员所在地址相对于对象起始地址的偏移值,空指针用-1表示。例: 代码示例: 2. 函数成员指针 函数成员指针与普通函数指针相比 阅读全文
posted @ 2016-06-13 21:27
米罗西
阅读(251)
评论(0)
推荐(0)
摘要:
原文:C/C++杂记:NULL与0的区别、nullptr的来历 某些时候,我们需要将指针赋值为空指针,以防止野指针。 有人喜欢使用NULL作为空指针常量使用,例如:int* p = NULL;。 也有人直接使用0值作为空指针常量,例如:int* p = 0;。 前者可能觉得:NULL作为空指针常量, 阅读全文
posted @ 2016-06-13 21:27
米罗西
阅读(434)
评论(0)
推荐(0)
摘要:
原文:C/C++杂记:运行时类型识别(RTTI)与动态类型转换原理 运行时类型识别(RTTI)的引入有三个作用: 1. typeid操作符的实现 1.1. 静态类型的情形 C++中支持使用typeid关键字获取对象类型信息,它的返回值类型是const std::type_info&,例: 理论上讲, 阅读全文
posted @ 2016-06-13 21:26
米罗西
阅读(265)
评论(0)
推荐(0)

浙公网安备 33010602011771号