1 #include<iostream> 2 3 using namespace std; 4 //常引用的知识架构 5 void main1() 6 { 7 //普通引用 8 int a = 10; 9 int &b = a; 10 printf("b:%d 0", b); 11 12 //常引用 13 int x = 20; 14 const int &y = x;//常引用是让变量引用只读属性 不能通过y去修改x了 15 //y=21; 16 17 //常引用初始化分为两种情况 18 //1、用变量初始化 常引用 19 { 20 int x1 = 30; 21 const int &y1 = x1;//用x1变量去初始化常引用 22 } 23 //2、 用字面量(常量) 初始化 常量引用 24 { 25 const int a = 10;//c++编译器把a放在符号表中 26 //int &m = 41;//普通引用 引用一个字面量 请问字面量有没有内存地址?-没有 27 //引用就是给内存取多个门牌号(多个别名) 28 const int &m = 43;//c++编译器会分配内存空间 29 } 30 } 31 32 // 33 struct Teacher 34 { 35 char name[64]; 36 int age; 37 38 }; 39 40 //常引用做函数参数 41 void printTeacher(const Teacher &myT) 42 { 43 //myT.age = 33; 常引用只读属性 不可修改 44 printf("myT.age:%d ", myT.age); 45 } 46 47 void main() 48 { 49 Teacher t1; 50 t1.age = 36; 51 printTeacher(t1); 52 53 cout << "hello..." << endl; 54 system("pause"); 55 return; 56 }