引用&分为普通引用和常引用。
知识架构:
void main()
{
//普通引用
int a = 10;
int &b = a;
printf("b:%d \n", b);
//常引用
int x = 20;
const int &y = x; //常引用 是 让变量 引用只读属性 不能通过y去修改x了
//y = 21;
//常引用 初始化 分为2种情况
//1> 用变量 初始化 常引用
{
int x1 = 30;
const int &y1 = x1; //用x1变量去初始化 常引用
}
//2> 用字面量 初始化 常量引用
{
const int a = 40; //c++编译器把a放在符号表中
int &m = 41; //普通引用 引用一个字面量 请问字面量有没有内存地址 答案是没有
//引用 就是给内存取多个门牌号 (多个别名) 没有内存,怎么给它取别名,因此会报错!
//printf("&40:%d \n", &40);
const int &m = 43; //c++编译器 会 分配内存空间
}
cout<<"hello..."<<endl;
system("pause");
return ;
}
常引用让实参变量 拥有只读属性。
struct Teacher{
char name[64];
int age;
}
void printfTeacher(const Teacher& myt){
myt.age=33;
printf("my.age:%d",myt.age);
}
void main(){
Teacher t1;
printfTeacher(t1);
}