c++的const限定符的使用实现全解

<span style="font-size:18px;"></pre><pre name="code" class="html"><p><span style="font-size:18px;">     引用即是某一对象的别名,引用的类型必须和其所引用的对象的类型一致,在引用声明时必须对其初始化。引用将和它的初始值对象一直绑定在一起,无法令引用重新绑定到另外一个对象上。</span></p><p><span style="font-size:18px;">     const的引用,允许为一个常量引用绑定非常量的对象、字面值、甚至是一个表达式。但const引用不允许通过其引用修改其绑定的对象,但允许通过其他方式对所绑定对象的修改。</span></p><p><span style="font-size:18px;">
</span></p><p><span style="font-size:18px;">     const与指针,const int *ptr指向常量的指针,不允许通过指向常量的指针修改其所指对象的值,允许指向非常量的值和修改指向。const int *const ptr指向常量的常量指针,不允许修改指向。</span><pre name="code" class="cpp"></span>


备注:非常量引用或指针不能引用或指向常量的引用或指针。const是对给定类型的修饰。

 
</pre><pre name="code" class="cpp">#include <iostream>
using namespace std;
int main()
{
    int i = 2;
    const int j =42;
    const int &r1 =i;
    const int &r2 = r1*2;
    int &r3 = i;
    //r1   =42;          // r1是对常量的引用,不能用作修改所绑定的对象
    //int &r3 = r1 *2 ;  //非常量引用不能指向常量引用


    cout<<&i<<endl;
    cout<< &r1<<endl;
    cout<< &r2<<endl;
    cout<< &r3<<endl;
    cout<<i<<endl;
    cout<<r1<<endl;
    cout<<r2<<endl;
    cout<<r3<<endl;
    i =6;

     cout<<&i<<endl;
    cout<< &r1<<endl;
    cout<< &r2<<endl;
    cout<< &r3<<endl;
    cout<<i<<endl;
    cout<<r1<<endl;
    cout<<r2<<endl;
    cout<<r3<<endl;

    double pi =3.14;
    const double *ptr=π
     cout<<&ptr<<endl;
    cout<<*ptr<<endl;
    double  d = 6.2;
    ptr = &d;         //允许指向常量的指针指向一个非常量的值,并且可以修改指向常量指针的指向
    cout<<&ptr<<endl;
    cout<<*ptr<<endl;

     double pi1 =6.28;
    const double *const ptr1=π
    cout<<&ptr1<<endl;
    cout<<*ptr1<<endl;
    double  d1 = 6.2;
    //ptr1 = &d1;               //不允许修改指向
    ptr = ptr1;
    cout<<&ptr<<endl;
    cout<<*ptr<<endl;
    return  0;
}


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值