C++学习day01 const在c++中的增强

//指针所执行的内存空间不能被修改
int operatorTeacher01(const Teacher* pT)
{
    //pT->age = 10;
    return 0;
}
//指针变量不能被修改
int operatorTeacher02(Teacher* const pT)
{
    pT->age = 10;
    //pT = NULL;
    return 0;
}

//指针所执行的内存空间不能被修改,指针变量不能被修改
int operatorTeacher03(const Teacher* const pT)
{
    //pT->age = 10;
    //pT = NULL;
    cout << pT->age << endl;
    return 0;
}

void main72()
{
    Teacher t1;
    t1.age = 33;
    operatorTeacher03(&t1);

}

//c语言中的const是冒牌货,const是个只读变量,有自己的存储空间
//C++语言中const是一个真正的常量,const会把a放到一个符号表中。当你用取地址符号时&a会单独开辟一个地址空间,间接赋值的p会指向这个拷贝的地址。修改的地址的值是没用的。
void main()
{
    const int a = 10;
    int* p = NULL;
    p = (int*)&a;
    *p = 20; //简接赋值
    cout << "a:" <<a <<endl;
    cout << "*p :" << *p << endl;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值