- 博客(4)
- 资源 (21)
- 收藏
- 关注
原创 C++对象模型-Function语义学 第四章笔记
member的各种调用方式 nonstatic member function,编译器会在函数参数中插入一个this,这样成员函数就转化成普通函数的调用。编译器还会进行命名修饰name mangling,根据成员函数名、参数类型等信息产生一个唯一的函数名字以确保无重复。 virtual member function虚拟成员函数 编译器会将pt->func()转化为通过虚函数表来调用的形式(*pt->vptr[1])(ptr)。//1是函数在vtbl中的序号,(ptr)是this指针 ob
2020-06-30 08:32:57 152
原创 C++对象模型-Data语义学 第三章笔记
class A; class B:public virtual A; class C: public virtual A; class D: public B,public C此种情况下一般 A的大小为1,sizeof(B)=sizeof©=8;因为B,C中包含指向虚基类的一个指针。sizeof(D)为12,因为A中一字节+B中一个指针+C中一个指针=9,由于需要内存对齐的原因会padding至12。 若编译器处理了empty virtual base class 则A中不会有1字节的插入占位。上述计算就会
2020-06-29 00:53:32 164
原创 C++对象模型-构造函数语义学 第二章笔记
C++默认构造函数会在需要的时候被产生出来,且只在编译器需要的时候才合成。且合成出来只执行编译器需要的行动。即使合成了默认构造函数,也不会将成员变量初始化为0,若要如此需要程序员提供明显的默认构造函数。 编译器默认构造函数在如下4种情况会合成出来(nontrival default constructor) 成员函数带有默认构造函数,则此class的implicit default constructor就是nontrivial。在构造函数真正需要调用时才会合成默认构造函数 ...
2020-06-27 22:59:41 163
原创 C++对象模型-关于对象 第一章笔记
c++增加封半夜生并未增加对象布局开销.在virtual function ,virtual base class情况下会给c++带来内存(虚函数表)开销,运行时负担. c++含两种成员静态与非静态,三种权限public private protect c++对象模型
2020-06-25 12:10:58 138
python反编译反汇编工具pycdc pycdas
2022-03-17
cocos2d-x-3rd-party-libs-bin-metal-support-22.zip
2020-07-27
visual assist x 10.9.2366补丁
2020-07-23
VC内存泄露误报演示程序
2013-10-30
AAF1.1.6之API和PLUGINAPI帮助文档CHM
2012-11-07
AAF1.1.4 (Advanced Authoring Format)帮助文档CHM API和PLUGINAPI
2011-11-03
IE中新TAB的icq search清理
2011-03-29
getting started with flex3(flex3入门教程)
2009-04-28
EXT控件lovcombo
2009-03-30
Inside COM(COM技术内幕)中文版
2009-01-05
微软出版社VB6高级教程第二版
2008-12-23
梅花雪日历控件改进版
2008-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人