见C++ Primer(第四中文版)P229
首先先讨论下重载的问题, 请问
void fun(const int a){} 和 void fun(int a){}
以上两函数构成重载关系吗????编译器会认为是重定义还是重载呢??
视为重复声明,其原因在于实参传递方式,复制形参时并不考虑形参是否为const——
函数操纵的只是副本。函数无法修改实参。结果,
既可将const对象传给const形参,也可以传递给非const形参,这两种形参并无本质区别。(原文)
void fun(const int& a){} 和 void fun(int& a){}
以上两函数构成重载关系吗????编译器会认为是重定义还是重载呢??
视为重载,const引用的形参和非const引用形参的等价性不同。引用,函数则可以修改实参,const的对象不能传给非const引用。P49
[
本帖最后由 lishizelibin 于 2010-10-23 20:27 编辑 ]