【C++】引用
引用的基本語法
語法:資料型別 &別名 = 變數名
作用:給變數起別名
#include<iostream>
using namespace std;
int main() {
//int& a;//定義時就必須初始化,所有此時會報錯
int a = 10;
cout << a << endl;
int& x = a;//給變數a起別名
x = 100;//改變引用指向內容的值
cout << a << endl;
cout << x << endl;
return 0;
}
引用注意事項
#include<iostream>
using namespace std;
int& func() {
int a = 10;
return a;
}
int main() {
int& x = func();
cout << x << endl;//輸出:10
cout << x << endl;//輸出:2047785360 此時的變數內容已經被系統回收
return 0;
}
- 不要將區域性變數用引用給函式返回賦值給變數,因為此時返回出來的變數的值在使用一次後就會被系統回收
引用做函式引數
#include<iostream>
using namespace std;
//值傳遞
void swap01(int a, int b) {
int temp;
temp = a;
a = b;
b = temp;
}
//地址傳遞
void swap02(int* a, int* b) {
int temp;
temp = *a;
*a = *b;
*b = temp;
}
//引用傳遞
void swap03(int& a, int& b) {
int temp;
temp = a;
a = b;
b = temp;
}
int main() {
int a = 10;
int b = 20;
swap01(a, b);
cout << "a=" << a << " b=" <<b<< endl;
swap02(&a, &b);
cout << "a=" << a << " b=" <<b<< endl;
swap03(a, b);
cout << "a=" << a << " b=" <<b<< endl;
return 0;
}
引用做函式的返回值
#include<iostream>
using namespace std;
int& func() {
int a = 10;
return a;
}
int main() {
int& ref = func();
cout << ref << endl;
//函式左值
func() = 1000;
cout << ref << endl;
return 0;
}
引用的本質
#include<iostream>
using namespace std;
void func(int& x) {
x = 100;
}
int main() {
int a = 10;
int& ref = a;//自動轉換為 int* const ref = &a; 指標常量的指向不可變,也就解釋了為什麼引用的指向也不可變
ref = 20;//自動轉換為 *ref = 20;
cout << "a=" << a << " ref=" << ref << endl;
func(a);
cout << "a=" << a << " ref=" << ref << endl;
return 0;
}
相關文章
- c++引用C++
- C++左值引用與右值引用C++
- c++ 左值引用與右值引用C++
- 詳解C++引用C++
- c++筆記_引用C++筆記
- C++右值引用C++
- 【c++】引用計數C++
- C++的引用技術C++
- 深入分析C++引用C++
- 簡單理解C++引用C++
- C++引用和指標C++指標
- Python與C++引用分析PythonC++
- C++ 引用型別簡介C++型別
- C++引用全部知識點C++
- 開心檔之C++ 引用C++
- [C++]指標和引用(一)C++指標
- [C++]指標和引用(二)C++指標
- [C++]指標和引用(三)C++指標
- [C++]指標和引用(四)C++指標
- C++引用型別詳解C++型別
- 【C++注意事項】3 引用C++
- C++引用的作用和用法C++
- Rust引用自定義c/c++庫RustC++
- C++中指標與引用詳解C++指標
- 119 C++中的引用&C++
- 【C++】兩個類的相互引用C++
- C++ 學習筆記之 引用C++筆記
- C++ 11 中的右值引用C++
- C++引用比指標的好處C++指標
- C++中的指標與引用C++指標
- C++引用與指標的比較C++指標
- java的引用:用C++/C的引用和指標去理解JavaC++指標
- C++ :引用計數(reference count) 實現C++
- C++精進之路4:引用的用法C++
- c++中指標和引用的區別?C++指標
- C++ 引用 (交換兩個數的值)C++
- C++指標與引用的區別C++指標
- C++中的&引用符號全解C++符號