1. 一个空类的大小是1 byte.这是为了让这一类的两个对象得以在内存中配置独一无二的地址. 2. Nonstatic data member 放置的是“个别的class object”感兴趣的数据,static data members则放置的是“整个class”感兴趣的数据. 3. C++对象模型把nonstatic data members直接放在每一个classs object之中.对于继承而来的nonstatic data members(不管是virtual 还是nonvirtua
书中在继承之后内存对齐问题上说道下面代码: 1 #include <bits/stdc++.h> 2 using namespace std; 3 class A 4 { 5 private: 6 int val; 7 char bit1; 8 }; 9 class B : public A 10 { 11 private: 12 char bit2; 13 }; 14 class C : public B 15 { 16 private: 17 char bit3; 18 }; 19 int
读后感: Martin Fowler 20年前的书,OO和领域的思想对于今天的我们来说很基础,但在那时应该算是萌芽.Smalltalk语言简单,语法中省略空格可能因为那时的硬件设备昂贵,而不得不做出的选择,但是可读性真的很差,而书中基本是用Smalltalk进行示例.翻开这本书是为了查找财务模型,它没有让我失望,特别是第6章"库存与财务"给了我思维建模的概念.这本书和UML.GOF的"设计模式"差不多是在同一时间段出现,所以书的内容看上去有点古董的感觉.不过,大师的