C++primer笔记————第八章

重载函数
  1. 函数重载允许多个函数共享同一个函数名,但是针对不同参数类型提供共同的操作。
  2. 如果两个相同函数名的函数的参数表相同,但是返回类型不同,则第二个声明被视为第一个的错误重复声明,会被标记为编译错误。
  3. 当一个参数类型为const或者volatile时,在识别函数声明是否相同时,并不会考虑const或volatile修饰符。
  4. 如果把const或者volatile应用在指针上或者引用参数指向的类型上,则在判断函数声明是否相同时,就需要考虑const和volatile修饰符号。
  5. 重载函数集合中的全部函数都应该在同一个域中声明。否则会出现被隐藏的可能性。
  6. 不同命名空间中的函数不能互相重载。
  7. 用户不能在using声明中为一个函数指定参数表。
  8. 由using声明所引入的函数重载了在该声明所出现的域中同名函数的其他声明。
  9. 同一重载函数集合中的函数都是同一个域中被声明的,即使这些声明可能时用using声明或者using指示符引入的。
  10. 链接指示符只能指定重载函数集中的一个函数。
  11. 链接指示符并不影响函数调用时对函数的选择,只用参数类型来选择将被调用的函数,被选中的函数是与实参类型精确匹配的那个。
  12. 在编译的时候,每个函数名以及其相关参数表都被作为一个唯一的内部内部名编码。
  13. 在C语言中没有重载函数的概念。
  14. 函数重载解析是把函数调用与重载函数集合中的一个函数相关联的过程。
  15. 函数重载解析的步骤:
    1. 确定函数调用考虑的重载函数集合,确定函数调用中实参表的属性。
    2. 从重载函数集合中选择函数,该函数可以在(给出实参个数和类型)的情况下用调用中指定的实参进行调用。
    3. 选择与调用最匹配的函数。
  16. 最佳可行函数挑选规则
    1. 应用在实参上的转换不比调用其他可行函数所需转换差。
    2. 在某些实参上的转换要比其他可行函数对该实参的转换好。
文章目录
  1. 1. 重载函数
,