1.当用实参初始化形参时会忽略掉顶层const
void fun(const int i){}
void fun(int i){} //错误:重定义
底层const是可以重载的。
2.在不同的作用域中无法重载函数名,而是隐藏。因为在c++语言中,名字查找发生在类型检查之前,所以内层作用域的会名字隐藏外层作用域,不分函数或变量。
3.局部变量不能作为默认实参。除此之外,只要表达式的类型能转换成形参所需要的类型,该表达式就能作为默认实参。用作默认实参的名字在函数声明所在的作用域内解析,而这些名字的求值过程发生在函数调用时。
4.内联函数和constexpr函数可以在程序中多次定义。