转载
文章平均质量分 83
大佬,带带我,可好
跳动的bit
这个作者很懒,什么都没留下…
展开
-
C++ 对象的内存布局
07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的问题,也是为了图一些表达上方便和简单。不想,这篇文章成为了打开C++对象模型内存布局的一个引子,引发了大家对C++对象的更深层次的讨论。当然,我之前的文章还有很多方面没有涉及,从我个人感觉下来,在谈论虚函数表里,至少有以下这些转载 2022-07-10 08:38:09 · 643 阅读 · 4 评论 -
C++ 虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面为大家 一个清晰的剖析。当然,相同的转载 2022-07-10 08:24:40 · 387 阅读 · 0 评论 -
优先使用对象组合,而不是类继承
《极限编程》(Extreme programming)的指导原则之一是“只要能用,就做最简单的”。一个似乎需要继承的设计常常能够戏剧性地使用组合来代替而大简化,从而使其更加灵活。因此,在考虑一个设计时,问问自己:“使用组合是不是更简单?这里真的需要继承吗?它能带来什么好处?”...转载 2022-07-03 09:23:28 · 728 阅读 · 0 评论 -
STL 的string类怎么啦?
上个周末在和我的同学爬香山闲聊时,同学说到 STL 中的 string 类曾经让他备受折磨,几年前他开发一个系统前对 string 类还比较清楚,然后随着程序的复杂度的加深,到了后期,他几乎对 string 类失去了信心和信任,他觉得他对 string 类一头雾水。老实说,我几年前也有同样的痛苦(就是当我写下 《 标准C++类string的Copy-On-Write技术 》 之前的一段时间)。那时,我不得不研究那根本不是给人看的 SGI 出品的 string 类的源码,代码的可读性几乎为零,而且随着了解越深转载 2022-04-25 10:15:00 · 513 阅读 · 3 评论