/*
引用的实质就是指针常量,数据类型* const a;
*/
对比使用
//返回引用数据类型
int& test() {
static int a = 10;//我们上次也说了静态类型的是放在全局区的在代码运行前就已经分配好了内存
return a;
}
//返回指针数据类型
int* test1() {
static int b = 23;
return &b;
}
//常量引用
void printvalue(const int& a) {//防止引用的数据类型被改变
cout << a << endl;
}
#include<iostream>
using namespace std;
/*
引用的实质就是指针常量,数据类型* const a;
*/
//返回引用数据类型
int& test() {
static int a = 10;//我们上次也说了静态类型的是放在全局区的在代码运行前就已经分配好了内存
return a;
}
//返回指针数据类型
int* test1() {
static int b = 23;
return &b;
}
//常量引用
void printvalue(const int& a) {//防止引用的数据类型被改变
cout << a << endl;
}
int main() {
cout << test() << endl;
test() = 100;//可以作为左值使用
cout << test() << endl;
cout << *test1() << endl;
*test1() = 456;
cout << *test1() << endl;
//原理是编译器将代码替换为了,int temp=10,int& ref=temp;ref变为只读
const int& ref = 10;
int a = 33;
printvalue(a);
}