C++ const关键字修饰引用

//const修饰引用的两种用法
#include<iostream>

using namespace std;

struct Teacher{
    char name[30];
    int age;
};

void SetA(const Teacher &t1){
    //t1.age = 13;
    //报错 error C3490: 由于正在通过常量对象访问“age”,因此无法对其进行修改
}

void main(){
    //第一种用法  
    Teacher t;
    t.age = 12;
    SetA(t);

    //第二种用法
    //int &b = 10;
    //报错 error C2440: “初始化”: 无法从“int”转换为“int &”
    //因为引用本质上是个常指针   无法对字面量10取地址  所以报错
    const int &b = 10;

    //当使用常量(字面量)对const引用进行初始化时,C++编译器会为常量值分配内存空间,
    //并将这段内存空间的地址赋值给引用
    //b = 11;
    //报错  error C3892: “b”: 不能给常量赋值
    system("pause");
}
原文地址:https://www.cnblogs.com/zhanggaofeng/p/5587021.html