引用的本质_指针常量
#include<iostream>
using namespace std;
void func(int& ref) {
ref = 100;
}
int main() {
int a = 0;
int& ref = a;
ref = 20;
cout << "a: " << a << endl;
cout << "ref: " << ref << endl;
func(a);
cout << "a: " << a << endl;
cout << "ref: " << ref << endl;
return 0;
}
引用作为函数形参
#include<iostream>
using namespace std;
void mySwap01(int a, int b) {
int temp = a;
a = b;
b = temp;
cout << "值 传递:a="<< a <<"b="<< b << endl;
}
void mySwap02(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
cout << "地址传递:a=" << *a << "b=" << *b << endl;
}
void mySwap03(int& a, int& b) {
int temp = a;
a = b;
b = temp;
cout << "引用传递:a=" << a << "b=" << b << endl;
}
int main() {
int a = 10;
int b = 20;
mySwap03(a, b);
cout << "main里面:a=" << a << "b=" << b << endl;
return 0;
}
常量引用
#include<iostream>
using namespace std;
void showValue(const int& val) {
cout << val << endl;
}
int main() {
const int& ref = 10;
int a = 10;
showValue(a);
cout << a << endl; ;
return 0;
}