栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C语言关键字】register -- 追求更快

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C语言关键字】register -- 追求更快

古今之成大事业、大学问者,必经过三种之境界。
“昨夜西风凋碧树,独上高楼,望尽天涯路。’此第一境也。
“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界。
“众里寻她千百度,蓦然回首,那人却在,灯火阑珊处。”此第三境也。
王国维 – 《人间词话》
个人觉得在技术甚至是关于人生的理解:
第一境界,立志,经历一番痛苦的迷茫与思索,找到目标和规划。
第二境界,为了实现目标,努力去奋斗,甚至成癫成魔,沉迷其中,跟着了魔一样。
第三境界,最后发现所追求的东西其实就是这不断成长的过程,是这充实而有趣的人生旅途。

说明

register,英文的意思是 寄存器,作用是 追求更快。
顾名思义,用这个关键字来修饰变量,是告诉编译器尽可能地将变量存在CPU内部寄存器中, 而不是和一般定义的变量一样通过内存寻址访问来访问,因为使用该变量进行逻辑操作或者运算操作时,能直接使用其在寄存器中的值,这样就可以大大提高运行效率。

注意事项
  • register 关键字不一定能起作用,更准确的是大多数情况下不会起作用。因为一 个CPU的寄存器数量有限(一般最多也就几十个),如果定义了很多的 register 变量,CPU也装不下那么多变量,同时编译器也是挺聪明的,会根据具体的编译情况来决定。
  • register 修饰的变量必须能被寄存器接受,意味着其必须是单个的值,其长度要小于等于整型的长度。
  • 因为 register 修饰的变量可能不存放在内存中,所以不要用取址运算符“&”来获取变量的地址。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/346779.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号