从零单排c++ primer(6)

(1)在含有return语句的循环后面应该也有一条return语音,如果没有的话该程序就是错误的,很多编译器都无法发现此类错误。
(2)main函数不能调用自己。
(3)如果同一作用域内的几个函数名字相同但形参列表不同,我们称之为重载函数,main函数不能重载。
(4)不允许两个函数除了返回类型外其他所有的要素都相同。
(5)在函数的返回值前面加上一个inline,这样就可以将函数定义为内联函数了。
(6)调用重载函数应尽量避免强制类型转换,如果在实际应用中确实需要强制类型转换,则说明我们设计的参数集合不合理。
(7)类的基本思想是数据抽象和封装。封装实现了类的接口和现实的分离。
(8)数据抽象是一种依赖于接口和实现分离的编程技术。 
(9)定义在类内部的函数是隐式的inline函数。
(10)成员函数通过一个名为this的额外的隐式参数来访问调用它的那个对象。
(11)常量对象,以及常量对象的引用或指针都只能调用常量成员函数。
(12)编译器在编译的时候分两步走,首先编译成员的声明,然后才轮到成员函数体。
(13)一般来说,如果非成员函数式类接口的组成部分,则这些函数的声明应该与类在同一个头文件内。
(14)每个类都分别定义了它的对象被初始化的方式,类通过一个或几个特殊的成员函数来控制对象的初始化过程,这些函数叫做构造函数。
(15)使用struct和class定义一个类的唯一区别就是默认的访问权限不同。
(16)类可以允许其他的类或者函数访问它的非公有成员,方法是令其他类或者函数成为它的友元。关键字是friend。 
(17)一个可变数据成员永远不会是const,即使他是const对象的成员。
(18)当我们提供一个类内初始值时,必须以符号=或者花括号表示。
(19) 即使两个类的成员列表完全一致,它们也是不同的类型。对于一个类来说,它的成员和其他任何类的成员都不是一回事。
(20)如果一个类指定了友元类,则友元类的成员函数可以访问此类包括非公有的成员在内的所有成员。
(21)每个类负责控制自己的友元类或者友元函数,友元的性质不具有传递性。
(22)编译器处理完类中的全部声明后才会处理成员函数的定义。
(23) 类型名的定义通常出现在类的开始处,这样就能确保所有使用类型的成员都出现在类名的定义之后。
(24) 尽管有时候外层的对象被隐藏掉了,但是我们仍然可以用作用域运算符访问它(作用域运算符::)

你可能感兴趣的:(C++,学习,语言)