文章分类 - 《深度探索C++对象模型》
摘要:static member function: (1)不能直接读取nonstatic数据 (2)不能被声明为const 1.成员函数的各种调用方式: (1)非静态成员函数:C++会保证至少和一般的普通函数有相同的效率,三个步骤: ①改写函数,安排一个额外的参数(this指针)到函数中,用来提供一个存
阅读全文
摘要:虚基类(其实只要是空类就行,文中以空虚基类为例)X会被安插1Byte的char,使它的对象可以在内存中被分配一个独一无二的地址。 ①继承下来的Y、Z会添加一个指向虚基类子对象的指针或一个相关的表格(4Byte),再加上X的1Byte,4+1=5,再对齐填充为8Byte。 ②但新的编译器(VC++和g
阅读全文
摘要:1.Default Constructor(默认构造函数,即没有明显实参的函数)的构造情况 C++编译器在以下4种情况下默认构造函数会被认为是nontrival(有用的),需要由编译器合成出来,只执行编译器所需要的行为: ①含有类对象数据成员,且该成员有默认构造函数; ②基类带有默认构造函数的派生类
阅读全文
摘要:本分类博客为我对《深度探索C++对象模型》一书的读书笔记,我自知功力浅薄,难免有不少看不懂的地方,因此笔记中可能会有不足或错误,若有发现烦请指出,谢谢> < 比较可惜的是中文互联网中针对本书的公开讲解视频似乎不多,以下链接为我在学习时的参考视频(此后就不再逐一列举了): 1-C++对象布局总览_哔哩
阅读全文
浙公网安备 33010602011771号