zoukankan      html  css  js  c++  java
  • cpp中常量引用中const和类型的位置关系

    1.常量引用

        int a=0;
        int const&b=a;//将const放在类型后面
        b=6;
    #编译报错:
    error: assignment of read-only reference 'b'
    
        int a=0;
        const int &b=a;//将const放在类型前面
        b=6;
    #编译报错:
    error: assignment of read-only reference 'b'

    以上的代码说明常量引用中const和数据类型的位置先后是不影响效果的。

        int a=0;
        int &const b=a;//尝试将const放在&后面
        b=6;
    //编译报错:
    error: 'const' qualifiers cannot be applied to 'int&'

    因为引用本来就不能指向别的,只能是一个变量的别名,也就是说只能和一个变量绑定

        int a=0,c=1;
        int & b=a;
        b=c;//尝试指向别的变量
        c=2;
        cout<<a<<" "<<b<<" "<<c;
    //输出
    1 1 2

    以上代码中b=c并不是将b指向新的变量,而是将b和a修改为c的值,通过之后的输出也可以看出来。

        int a=0,c=1;
        const int & b=a;
        b=c;//尝试更改值
    //编译报错
    error: assignment of read-only reference 'b'

    2.引用在出现时就要初始化

        int a=0;
        int & b;
        b=a;
    //编译报错:
    error: 'b' declared as reference but not initialized

    以上做了不少小实验验证了知识点。

  • 相关阅读:
    选择排序——Java实现
    冒泡排序——Python实现
    基数排序——Java实现
    Sqoop迁移Hadoop与RDBMS间的数据
    Hive Join
    Hadoop 完全分布式部署(三节点)
    springboot自定义异常处理
    linux下安装redis
    windows 下tomcat重启脚本
    解决rabbin首次请求慢的问题
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/14203823.html
Copyright © 2011-2022 走看看