• C++学习第二十九天----引用变量和c语言之register关键字


    1.临时变量、引用变量和const

            如果实参与引用参数不匹配,C++将生成临时变量(仅当参数为const引用时)。

            将引用参数声明为常量数据的引用的优点:

            第一,使用const可以避免无意中修改数据的编程错误

            第二,使用const使函数能够处理const和非const实参,否则将只能接受非const数据;

            第三,使用const引用使函数能够正确生成并使用临时变量。

    这里说明一下,现在所说的使用&声明的引用称为左值引用,后面还会有&&声明的引用称为右值引用

    2.将引用用于结构

           引入引用这个概念初始的目的应该就是应用于结合和类,而不是应用于这些基本的内置类型。

            将引用用于结构和前面所讲到的引用用法基本相似,也是使用引用运算符&。

    1. struct free_throws
    2. {
    3. std::string name;
    4. int made;
    5. int attemps;
    6. float percent;
    7. };
    8. void set_pc(free_throws & ft);
    9. void display(const free_throws & ft);

            如果不需要修改函数传入的结构,就可以如同上述display()一样,使用const。

    --------------------------------------------------分界线------------------------------------------------------------

    ----------------------------------------------下面说一个c语言关键字register--------------------------------

    作用是:提示编译器将变量存储在cpu的寄存器中,这样读取写入的效率将变得非常的高。

    可以对比一下const,static。

    register int x = 10;

            但是即使使用了register关键字修饰变量,也并不总是能够按照你的预期被放入寄存器中,编译器有可能会根据优化的策略以及其他的因素决定。

            还有就是用register修饰的变量,如果你想获取到它的地址应该是不可能的,这是编译器决定的,无法获取到寄存器的地址。

            年少而不可得之人,终会困我一生!

  • 相关阅读:
    Flashtxt库轻松处理你的文本.
    【一文秒懂——SLF4j日志】
    面试题库(十):NIO和Netty面试题
    shiro1.8内置jwt过滤器捕获token过期异常解决方案
    SpringBoot中间件简介
    luffy-(7)
    flutter 命令
    kafka教程
    【LeetCode每日一题】——面试题17.16.按摩师
    Vue 3.x 介绍
  • 原文地址:https://blog.csdn.net/qq_45796666/article/details/133553443