关于函数签名的问题(非常重要)

  • 函数签名:函数的唯一标识符。组成部分只有函数名、参数列表、const修饰

  • 区别于编译器视角下对函数的自定义命名

  • 返回类型不参与函数签名,但是作为编译器自定义命名函数的一部分。

总结来讲,编译器判断一些函数行为就是根据函数签名。编译器视角下对函数的自定义命名或许只有在最后编译器帮助链接器链接时才会用到。

比如说:

  • 函数重载(overload)要求函数名相同,但是函数签名不同
  • 继承中的重写(override)要求函数签名完全相同。