C++学习笔记|Const常量|Cherno C++ Tutorials

https://www.bilibili.com/video/BV1VJ411M7WR?p=34

const在class中的应用 

常量指针 指针常量

常量引用

#include <iostream>
//const在类中的应用
class Entity{
private:
    int m_x,m_y;
    mutable int m_z;//即使在const的成员函数中 仍然可以修改
public:
    int test;
    int GetX() const //这个method不能修改成员变量的值
    {
        //m_x=10;会报错
        m_z=2;//mutable变量不会报错
        return m_x;
    }
    void SetX(int x){
        m_x=x;
    }
};
void PrintEntity(const Entity&e){//这里跟pointer不一样的是 没有什么内容和所指向内容的区别
    //e.test=1;会报错
    std::cout<<e.GetX()<<std::endl;//这时候如果删掉GetX后面的const会报错,保证了不会修改e的内容
}
int main(){
    int x=1;
    const int * a=new int(10) ;//常量指针 指针内容可以改变 但是指针指向的内容不可以改变
    //*a=100;会报错
    a=&x;//不会报错
    std::cout<<*a<<std::endl;
    int *const b=new int(20);//指针常量 指针内容不可以改变 但是指针指向的内容可以改变
    std::cout<<*b<<std::endl;
    *b=13;
    std::cout<<*b<<std::endl;
    //b=a;会报错
    
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值