摘要:
问题:对于memberwise和bitwise还不是很理解,而这两个概念却非常重要。开篇一句话:关键词explicit之所以被引入这个语言,就是为了提供给程序员一种方法,使他们能够制止“单一参数的constructor”被当做一个conversion运算符。Conversion运算符引入应该是明智的,测试应该是严酷的(确实如此,一个隐式转换很难被发现),并且在程序一出现不寻常活动第一个症状时发出疑问。第2.1节 Default Constructor的建构操作区分Default Constructor一部分是由编译器在需要时候产生出来;一部分是程序员为了保证程序正确性,程序员设计Default 阅读全文
摘要:
2012-06-0511:06:22C++在布局及存取时间上主要额外负担是由virtual引起,将会在后面章节讨论C++布局问题。本章一个重点讨论就是C++对象模式,这个内容非常重要,是基础,在后面将会被用到,尤其是涉及打virtual。第1.1节 C++对象模型简单对象模型Members(指data member和function member)按照声明次序,各被指定一个slot。图1.1说明这种模型members本身并不放在object中,每一个slot存放的是“指向member的指针”,目的是避免members不同类型,导致占用不同存储空间带来的问题,一个class object大小等于 阅读全文
摘要:
2012-06-0510:46:44我认为一本书的导读对于阅读一本书有着莫大的帮助,因此一定要总结一下作者提出来的重要的地方rule1:需要细细推敲每一个句子,每一个例子,囫囵吞枣是完全没有用的。rule2:第1,3,4,章最能带给读者迅速而且最大的帮助,这些都是引起程序员困惑的主题。rule3:各章节之间没有必然关联性。适合人群:对于C++台下的机制,如编译器合成的default constructor,object的内存布局等有莫大兴趣等 阅读全文