1、头文件中的函数定义有一种函数是例外,就是内联函数,内联函数必须要在头文件中定义,如果只在源文件中写函数体则不可以。另外任何在头文件中添加或者修改内联函数,则必须重新编译该头文件。
2、类中的常量成员函数的使用。顾名思义,该函数形式为 void p () const {};当类中定义该函数时,类对象如果调用该函数则表示不能修改该对象的成员。因此,如果定义了该类的对象的const指针或引用,这只能调用常量成员函数,而不能调用非const成员函数。
3、函数重载的理解。函数重载必须是函数的参数个数或者类型不同,而不是依据返回值类型来重载函数。
4、当调用重载函数时,首先一共进行三步:(1)查找函数名字,(2)根据参数的类型查找函数,(3)确定最准确的函数调用。
5、枚举类型的对象的初始化,只能是同一枚举类型的另外一个对象,或者是一个枚举成员。
6、当函数重载传递的参数是指针时,不能依赖指针是否为const来重载函数。
7、有类型指针,就必然有函数指针;因此定义,在引用函数名但又没有调用函数时,该函数名都解释为函数指针。此外一个重要的性质为:直接引用函数名等于对函数进行取址操作。
例如: cmp = f;和cmp = &f;是一样的。
8、函数指针只能由同类型的函数、函数指针及0值常量表达式来初始化或赋值。
9、
第一句:用函数初始化函数指针pf,第二句为调用函数,第三句和第四句为通过函数指针掉哟娜那个函数;第四句为显式调用,第三句为隐式调用。因为pf为指针,所以可以解引用。
10、非常重要的一条性质为:指向不同函数的函数指针,不能相互转换。
11、当函数的形参为函数时,自动将该函数转换为函数指针,如果返回值是函数则不会发生转换。
12、如果函数指针指向的是重载函数,这初始化时一定要精确,不可模糊。