5.7 C++register寄存器变量 | 用register做声明

举报
C语言入门到精通 发表于 2021/02/10 00:28:57 2021/02/10
【摘要】 C++register寄存器变量一般情况下,C++中的变量的值是存放在内存中的。当程序中用到哪一个变量的值时,由控制器发出指令将内存中该变量的值送到CPU中的运算器。经过运算器运算,如果需要存数,再从运算器将数据送到内存存放。为提高执行效率,C++允许将局部变量的值放在CPU中的寄存器中,需要用时直接从寄存器取出参加运算,不必再到内存中去存取。这种变量叫做寄存器变量,用关键字r...

C++register寄存器变量

一般情况下,C++中的变量的值是存放在内存中的。当程序中用到哪一个变量的值时,由控制器发出指令将内存中该变量的值送到CPU中的运算器。经过运算器运算,如果需要存数,再从运算器将数据送到内存存放。

为提高执行效率,C++允许将局部变量的值放在CPU中的寄存器中,需要用时直接从寄存器取出参加运算,不必再到内存中去存取。这种变量叫做寄存器变量,用关键字register声明。

在程序中定义寄存器变量对编译系统不是强制性的,随着硬件的不断发展,当今的编译系统基本上都能够识别使用频繁的变量,自动地将这些变量放在寄存器中。

经典案例:C++实现用register做寄存器变量声明。

源码分析:

#include<iostream>//头文件 
using namespace std;//命名空间 
int main()//主函数 
{
  register int i,num;//定义寄存器变量 
  num=1;//给num赋初值 
  int temp;//定义整型变量
  cout<<"请输入temp:"; //提示语句 
  cin>>temp;//键盘输入temp 
  for(i=1;i<temp;i++)//for循环 
  { num=num*i;
  }
  cout<<num<<endl;//输出num 
  return 0;//函数返回值为0 
}

编译后的结果:

请输入temp4
6

--------------------------------
Process exited after 3.178 seconds with return value 0
请按任意键继续. . .
5.7 C++register寄存器变量 mp.weixin.qq.com图标

文章来源: zhuanlan.zhihu.com,作者:小林C语言,版权归原作者所有,如需转载,请联系作者。

原文链接:zhuanlan.zhihu.com/p/326713317

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。