C++语言的设计与演化  读书笔记三

P185

       这实际上说明,如果要使某个operator->()函数的返回值类型,它必须是一个指针,指向某个类或者某个类的一个对象operator->()的定义就是用于它们的。

 

P195

       C语言的枚举类型是一个半生不熟的概念,枚举并不是C语言原始概念的一部分,很明显是作为一种让步。非常勉强的引进语言中。提供给那些需要一种比CPP的无参宏更实质一些的符号常数形式的人们。

 

P197

       非零值可以隐式地转换到truetrue可以隐式转换到1,零值可以隐式转换到false,而false可以隐式转换到0,这样就保证了高度的兼容性。

 

P198

       考虑多重继承的最根本的原因很简单,就是想使两个类能够以这种方式组合起来。使结果产生的类的对象行为就像两个类中任何的对象。

 

P201

       兄弟类只能通过一个共同的根本类相互通讯,或者通过全局性数据,或者通过显式指针。如果没有虚基类对于公共跟类的需求就会引起过度的使用“统一的”基类情况。

 

P207

       常规的基类在一个给定的派生类的每个对象里的位置都是固定的,编译程序知道这个位置。因此,可以强制为一个到派生类的指针,在这里没有任何特殊的问题或者开销。

 

P216

       带有一个活或几个虚函数的类是一个抽象类,抽象类只能用作其他的类的基类,特别是不可能建立抽象类的对象(实例化)。从一个抽象类派生的类必须或者是给基类纯虚函数提供定义,或者是重新将他们定义为纯虚函数。

 

P221

       在这里,基类的设计要点是,直到对一个对象的建构函数的运行结束之前,这个对象就一直想正在建构之中的建筑物,你必须忍受结构没有完成所带来的各种不便,常常需要依靠临时性的脚手架。必须时时当心在与危险环境相处的各个问题。一旦建构函数返回,编译程序和用户就可以假定构造完成的对象能够使用了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/ubuntuvim/p/4796574.html