C++中关键字register/auto

来源:互联网 发布:淘宝情趣店记事 编辑:程序博客网 时间:2024/06/03 13:49
看代码就知道   register/auto的用法
#include <iostream>using namespace std;int main(){        int i,sum=0;        for(i=0;i<=100;i++)                sum+=i;        cout<<"The sum="<<sum<<endl;}#include <iostream>using namespace std;int main(){        register int i;        int sum=0;        for(i=0;i<=100;i++)                sum+=i;        cout<<"The sum="<<sum<<endl;}

前边程序中的int i是默认的自动变量(auto),下面  register int i是寄存器变量

区别是:

自动变量在程序调用的时候是分配临时的存储空间,调用的时候也是从内存中调用的,这也是和register最大的不同,register变量的值是存放在CPU中的寄存器中,调用时直接从寄存器中取出参加运算,存放在寄存器中的变量值调用需要的时间短,节省内从,如上面的简单程序用auto变量和register变量时没有多大区别的,在大型程序中这种节约才能体现的出来

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


总之一句话:用关键词register是为啦提高效率




原创粉丝点击