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

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

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

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

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

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

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

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

2.将引用用于结构

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

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

复制代码
struct free_throws
{
    std::string name;
    int made;
    int attemps;
    float percent;
};

void set_pc(free_throws & ft);

void display(const free_throws & ft);

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

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

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

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

可以对比一下const,static。

复制代码
register int x = 10;

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

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

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

相关推荐
小龙报4 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
sunywz4 小时前
【c#】 Web Deploy一键发布,IIS部署全流程
开发语言·前端·c#
正经人_x4 小时前
学习日记42
学习
宁&沉沦4 小时前
Chrome 扩展 Manifest 字段版本支持一览(全量)
前端·后端·编辑器
乖孩子4 小时前
Service Worker + IndexedDB 实践
前端
一只小菜鸡..5 小时前
南京大学 操作系统 (JYY) 学习笔记:导论与历史的轮回 (OS Introduction)
笔记·学习
浮生望5 小时前
BFF架构实战:用Express+SSE为Vue3搭建安全的流式对话中间层
前端
小弥儿5 小时前
GitHub 今日热榜 | 2026-07-24:金融 K 线基础模型上榜
学习·金融·开源·github
txzrxz5 小时前
数论:排列数、组合数、费马小定理、逆元、同余定理
c++·算法·数论·组合数·费马小定理·逆元·排列数
520拼好饭被践踏5 小时前
JAVA+Agent学习day22
java·开发语言·后端·学习