深入探索c++对象模型读书笔记第一章

发现昨天一天读完第一章.也只是囫囵吞枣.也可能是自己代码打的太少了,有些地方不可以理解.但是解决了好多我之前的疑问.为什么c++指针储存的地址,却需要类型.struct和class的区别到底是什么.
有写地方有点乱...不过还是忍住读完了...
感觉是c++primer第十五章的扩展.
首先讲了对象模型在内存中的样子.画图有点麻烦之前也有人写过.所以把他的贴上来.我觉得写的很好...
吴秦的博客

  • 基类武罗在继承串链中被派生多少次,永远只有一个实例(subobject),例如virtual ios base class中的一个实例
    关键词差异.
    struct和class...其实就我而言我是不喜欢写struct的...没有为什么..就像太阳总是在明天早上升起来一样...
c++支持多态的方法:
  • 把一个派生类指针转化成一个基类指针.
    这样会剪切掉基类的部分.
  • 通过虚函数机制
  • 经由dynamic_casttypeid运算符
    多态的主要用途是经由一个公共的接口来影响类型的封装,这个借口通常定义在一个抽象的基类中.
指针类型会交到编译器如何解释某个特定地址中的内存内容及其大小.
Bear b;
Zooanimal *pz = &b;
Bear *pb = &b;
/*
pb所蕴含的地址包含整个Bear object,pz所云航的地址只包含Bear 中的
Zooanimal subobject
Zooanimal是基类,Bear是派生类
除了在Zooanimal中出现的成员pz无法操作任何member
唯一例外是操作virtual*/

一个指针和一个引用之所以支持多态,是因为它们不引起内存中的任何"与类型有关的内存委托操作";会受到改变的只是他们所指向的内存的"大小和内容解释方式".
无知就是幸福..没读之前.我还感觉我这块贼6......读过后疑问更多.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容