10 2022 档案
摘要:这篇博客开始总结《深度探索C++对象模型》的第四章,即C++中成员函数(除了构造函数和析构函数)相关的内容。只是简单介绍了C++类中的成员函数,包括常规成员函数、虚函数、静态函数。
阅读全文
摘要:这篇讲一下《深度探索C++对象模型》第三章最后没总结的一部分,就是类的成员变量指针。
阅读全文
摘要:上一篇博客[《C++对象模型:g++实现(一)》](https://www.cnblogs.com/lycpp/p/16827701.html)用我的理解总结了在无继承体系下g++实现的C++对象的内存布局,这篇就来总结一下在有继承情况下的C++对象的内存布局。
阅读全文
摘要:刚看完了《深度探索C++对象模型》第三章,这里做一下总结,也写一下我自己在g++ 7.5.0上的验证。 本文中所有的源文件都可以在这里拿到(百度网盘链接)。 注意,这里所说的“对象”是指在C++中使用class或struct关键字创建的类的实例。 1. 无继承情况下的C++对象内存布局 首先当然是从
阅读全文
摘要:引用不能绑定到"无物"? 在《深度探索C++对象模型》第3.4节中提到: 至于reference,则不需要针对可能的0值做防卫,因为reference不可能参考到“无物”(no object). 但实际上,因为referennce实际上是指针,可以设法将reference设为nullptr,如下:
阅读全文
摘要:具名返回值优化(NRV) 最近在看《深度探索C++对象模型》,在第2.3节中提到了具名返回值优化(Named Return Value optimization, NRV),如下: #include <iostream> class Test{ public: explicit Test(int i
阅读全文