c++:變數的引用
阿新 • • 發佈:2021-01-05
技術標籤:c++
變數的引用 就是給變數起一個別的名字,兩個變數的地址是相同的。
語法
資料型別 &別名 = 原名
int a = 10;
int &b = a; // a 和 b 都是 10
b = 20; // a 和 b 都是 20
注意事項
- 引用必須初始化
int &c; //錯誤
int &c = a; //正確
- 初始化後不能再改變
int &c = a;
c = b; // 這句話就成了賦值操作
- 不要引用函式中的區域性變數
int &test()
{
int a = 10;
return a;
}
int main()
{
int & p = test(); // 不合法,a已經被釋放
}
4.引用函式可以作為左值
int& test02()
{
static int b = 4;
return b;
}
int main()
{
int& ref2 = test02();
cout << ref2 <<endl;
test02() = 1000; // 其實是引用了變數b
cout << ref2;
}
本質
引用的本質其實是const 指標 ,指向不可變,但指向地址裡的值可以變
int a = 1;
int &b = a; //相當於int const *b = &a;
b = 30; // 相當於*b = 30;
//但是b是引用型別,編譯器幫我們簡化了操作