随笔分类 -  CPP

C++语言相关
摘要:这篇博客来总结一下《深度探索C++对象模型》第5章构造、析构、拷贝语义学的内容。 是对主要内容的总结,原文请看原书。 阅读全文
posted @ 2022-11-09 22:39 流云cpp 阅读(87) 评论(0) 推荐(0) 编辑
摘要:这篇博客开始介绍《深度探索C++对象模型》第四章的剩余部分,包括成员函数指针和内联函数。 阅读全文
posted @ 2022-11-06 20:46 流云cpp 阅读(98) 评论(0) 推荐(0) 编辑
摘要:这篇博客来讲一下g++实现的C++对象模型中的虚函数的实现,包括:单一继承体系下的虚函数,多继承下的虚函数和虚继承下的虚函数。其中虚继承下的虚函数在《深度探索C++对象模型》中只是说很复杂,受限于技术力和查到的资料,这里我只是对于g++的部分实现进行观察。 阅读全文
posted @ 2022-11-05 21:21 流云cpp 阅读(233) 评论(0) 推荐(0) 编辑
摘要:今天就写一下几天前看到的一个小技巧,也即标题:`std::weak_ptr 阅读全文
posted @ 2022-11-03 13:28 流云cpp 阅读(231) 评论(0) 推荐(0) 编辑
摘要:这篇博客开始总结《深度探索C++对象模型》的第四章,即C++中成员函数(除了构造函数和析构函数)相关的内容。只是简单介绍了C++类中的成员函数,包括常规成员函数、虚函数、静态函数。 阅读全文
posted @ 2022-10-31 10:43 流云cpp 阅读(101) 评论(0) 推荐(0) 编辑
摘要:这篇讲一下《深度探索C++对象模型》第三章最后没总结的一部分,就是类的成员变量指针。 阅读全文
posted @ 2022-10-27 22:00 流云cpp 阅读(86) 评论(0) 推荐(0) 编辑
摘要:上一篇博客[《C++对象模型:g++实现(一)》](https://www.cnblogs.com/lycpp/p/16827701.html)用我的理解总结了在无继承体系下g++实现的C++对象的内存布局,这篇就来总结一下在有继承情况下的C++对象的内存布局。 阅读全文
posted @ 2022-10-27 17:04 流云cpp 阅读(133) 评论(0) 推荐(0) 编辑
摘要:刚看完了《深度探索C++对象模型》第三章,这里做一下总结,也写一下我自己在g++ 7.5.0上的验证。 本文中所有的源文件都可以在这里拿到(百度网盘链接)。 注意,这里所说的“对象”是指在C++中使用class或struct关键字创建的类的实例。 1. 无继承情况下的C++对象内存布局 首先当然是从 阅读全文
posted @ 2022-10-26 11:32 流云cpp 阅读(261) 评论(0) 推荐(0) 编辑
摘要:引用不能绑定到"无物"? 在《深度探索C++对象模型》第3.4节中提到: 至于reference,则不需要针对可能的0值做防卫,因为reference不可能参考到“无物”(no object). 但实际上,因为referennce实际上是指针,可以设法将reference设为nullptr,如下: 阅读全文
posted @ 2022-10-24 21:58 流云cpp 阅读(28) 评论(0) 推荐(0) 编辑
摘要:具名返回值优化(NRV) 最近在看《深度探索C++对象模型》,在第2.3节中提到了具名返回值优化(Named Return Value optimization, NRV),如下: #include <iostream> class Test{ public: explicit Test(int i 阅读全文
posted @ 2022-10-24 18:45 流云cpp 阅读(401) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示