/*
引用
作用:给变量起别名
语法:数据类型 &别名 = 原名
注意事项:引用必须初始化,不可以写int &b;
初始化后不可以改变
引用做函数参数
作用:函数传参时,可以利用引用的技术让形参修饰实参
优点:可以简化指针修改实参
引用做函数返回值
用法:函数调用作为左值
注意:不要返回局部变量引用
本质:在C++内部实现是一个指针常量
常量引用
作用:主要用来修饰形参,防止误操作
在函数形参列表中,可以加const修饰形参,防止形参改变实参
*/
#include <iostream>
using namespace std;
//地址传递
void mySwap01(int * a, int * b)
{
int temp = *a;
*a = *b;
*b = temp;
}
//引用传递
void mySwap02(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
//返回值引用
int& test()
{
static int c = 10;
return c;
}
//打印数据函数,不想修改实参
void shoeValue(const int & val)
{
//val = 1000;这个会报错
cout << "val = " << val << endl;
}
int main(){
int a = 10;
int b = 20;
mySwap01(&a, &b);
mySwap02(a, b);
int &ref = test();
cout << "ref = " << ref << endl;
test() = 1000;
cout << "ref = " << ref << endl;
const int & ref = 10;//加上const以后,编译器将代码修改为 int temp = 10; int & ref = temp;加入const之后变为只读,不可以修改。
return 0;
}
网友评论