• 常量引用const reference


    引用可以被const修饰,无法通过引用修改数据,称为常引用

    int & const ref1 = age;    //不能修改指向,可以赋值ref1间接修改age的值
    ref1 =30;
    
    int const &ref1 = age;    //什么都不能
    

    const引用特点

    • 可以指向临时数据(常量、表达式、函数返回值等)
    const int &ref = 30;
    
    • const让函数参数接收各种类型的参数
    int sum(int &v1, int &v2) {
        return v1 + v2;
    }
    
    int main() {
        
        // 非const实参
        int a = 10;
        int b = 20;
        sum(a, b);
    
        // const实参
        const int c = 10;
        const int d = 20;
        sum(c, d);
    
        sum(10 ,20);    //这里会报错,函数声明必须加const
    /*
    int sum(const int &v1,const int &v2)   
    */
    }
    

    绕来绕去的语法直接看汇编

    int age = 10;
    const long &rAge = age;    //写int写long结果不一样
    age = 30;
    
    cout << "age is" << age << endl;
    cout << "rAge is" << rAge << endl;
    

    不同语言的汇编

    • java、c++、oc、swift-->汇编机器码(不一样),但最终都在同一个CPU的指令集架构中

    数组名arr是数组的地址,是指向首元素的一个指针

    int arr[] = {1, 2, 3}; 
    *arr    //取出数组的值1
    int (&ref)[3] = arr;    //引用数组
    ref[0] = 10;
    int * const &ref = arr;    //地址值不可变,为常量,引用加const
    
  • 相关阅读:
    第五周项目4-静态成员应用
    第五周项目3-用多文件组织多个类的程序
    python的wraps函数
    python函数加括号于不加括号的区别
    socket.error: [Errno 10048]
    tensorflow的MNIST教程
    cidr地址段
    mongodb数据库的存储问题
    搭建巡风扫描器
    mongodb的数据库,集合,数据可介绍。
  • 原文地址:https://www.cnblogs.com/sec875/p/12261694.html
Copyright © 2020-2023  润新知