正文

C++ 入门 第四章 4.12.4 用register声明寄存器变量2008-09-12 19:26:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/38238.html

分享到:

 

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

 
为提高执行效率,C++允许将局部变量的值放在CPU中的寄存器中,需要用时直接从寄存器取出参加运算,不必再到内存中去存取。这种变量叫做寄存器变量,用关键字register作声明。例如,可以将例4.14fac函数改写如下:
 int fac(int n)
 {register int i,f=1;          //定义if是寄存器变量
  for(i=1;i<=n;i++) f=f*i;
  return f;
 }
定义fi是存放在寄存器的局部变量,如果n的值大,则能节约许多执行时间。
在程序中定义寄存器变量对编译系统只是建议性(而不是强制性)的。当今的优化编译系统能够识别使用频繁的变量,自动地将这些变量放在寄存器中。

阅读(2769) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册