C++中const关键字和引用,指针的结合使用,顶层const和底层const

一、const说明

        const是限定符,当不想改变某个值时可以使用const对变量的类型加以限定。

二、const使用

        1.对于基本类型的变量

        int a = 10;//定义一个变量

        const int a = 10;//在类型前加const,a的值不可改变

        int const a = 10;//和上句话一样是一个意思

        2.对于引用来说

        允许将const int&绑定到一个普通的int 对象上

        int i = 0;

        const int &p = i;//正确

       此引用不能通过p来改变i的值,但是可以改变i的值

        对常量的引用不能修改它所绑定的对象

        const int a = 1024;

        const int &val = a;//正确,引用及其对应的对象都是常量

        对于上面的用法,一般把对const的引用简称为常量引用,当然只是一个简称,因为严格来说,并不存在常量引用,引用不是一个对象,所以无法让引用本身恒定不变

        3.对于指针

        const和指针存在两种组合,一种是指向常量的指针(指针常量),另一种是常量指针

                ①指向常量的指针:不能用于改变其所指对象的值,要想存放常量对象的地址,只能使用指向常量的指针。

                const double val = 1024;

                const double *p = &val;//正确

                p = 1025;//错误,无法直接赋值

                double dval = 100;

                double eval = 1000;

                const double *pp = &dval;//正确,但是不能通过pp来改变dval的值

                pp = &eval;//正确,可以给指针重新指向其他地址

                ②常量指针:允许把指针本身定为常量,必须初始化,当初始化完成后则他的值就不再改变。

                double val = 1000;

                double dval = 100000;

                double *const p = &val;//正确

                p = &dval;//错误,p无法在指向另一个地址

                *p = 10;//正确可以通过指针修改变量的值

        4、顶层const和底层const

                关于const是否是顶层const韩式底层const主要是判断 值是否可以改变,能改变就是底层const,不能改变就是顶层const。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值