对于传参,我们可以这样理解,即将形参用给定的实参进行初始化。从这个方面来理解函数重载的一些问题,将会更加清晰。
- 引用作为重载参数
这里可以跟为两种情况:
- 不含const,此种优先级最高
- 包含const,通常在实参为常量时调用该重载
下面将对引用作为重载参数进行详细阐述:
void function(int &a);
void function(const int &a);
//使用 int 型变量传入时,讲点用无const重载
int a = 0;
function(a);
//使用常量调用function时使用const重载
function(10);
- 含默认参数的重载
在使用含默认参数的函数重载时,有时会产生函数重载的二义性。
//有如下两个处于同一作用域的重载函数
void function(int a, int b=10);
void function(int a);
//下面对函数进行调用
int x= 10;
function(10);
这是,编译器不知道时调用上面的哪一个函数,即产生了函数的二义性。这种情况应该避免。
标签:function,特殊,const,函数,int,void,重载 From: https://www.cnblogs.com/meetalone/p/17149896.html