//引用的本質是一個指針常量
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)