//引用的本质是一个指针常量
int a=10;
int &b = a; // 相当于 int * const b = &a; 这也就是为什么引用不可修改,因为指针常量的指针指 向不可修改(b中保存着a的地址)
cout << a << b << endl; a = b = 10;
// b = 20解引用 也就是*b = 20;
8。
// 常量引用
// 引用的两种写法
// 1 )
int a=10;
int & b = a // (必须为名称,不能为10);
// 2)
const int & b = 10; // 第二种相当于编译器系统设置了一个变量
int temp = 10;
const int &b = temp;
b = 20 // (这是错误的,因为加上const 之后变为只读不可修改状态)
9。
// 函数默认参数 优先用户自定义的
int fun(int a,int b=10,int c=30)
{
return a+b+c;
}
main
{
cout << fun (10 , 30 , 30 ) ;
}
// 70;
// 当某个位置有了默认参数,那么他后边都必须是默认参数(例如 b为默认参数,那么 c 也必须是默认参数)
10。
// 声明和实现 只能有一个有默认参数
int fun (int a = 10,int b = 30);
int fun(int a , int b)
{
return a + b;
}
// 40
11。
// 占位参数(只有函数类型,没有名字)
void fun ( int a , int)
{
cout << ” abc ” ;
}
// 引用时fun(10 , 10) 占位参数还可以有默认参数
void fun(int a , int = 10)
{
return “ abc ” ;
}
// 引用时 fun( 10 )
12。
// 函数重载(函数名可以相同)
// 条件 : 同一个作用域下 函数名称相同 函数的参数类型不同 或者 个数不同或者顺序不同
// 注意:函数的返回值不可以作为函数重载的条件,如下
void fun ( )
void fun(int a)
void fun(double b)