C与C++关于register的不同(C++关于register关键字的加强)

C与C++关于register(寄存器)的不同

在C语言中一般使用register寄存器需要设置
例如:

//在C语言中使用register寄存器是为了加快速度
int main()  // 早期的C语言编译器不会对代码进行优化,因此register是一个很好的补充
{
     register int a = 10;
     printf("&a: %d\n",&a);//不能再寄存器变量上取地址
}
//在C++中用register可以编译通过
void main()  //在C++编译器中发现程序需要取register变量的地址时,register对变量的声明变得无效
{
     register int a = 10;
     printf("&a: %d\n",&a);
     //l类似于这种频换使用i的地方,c++编译器会做优化,将i放到寄存器里面,加快执行速度
     for (int i = 0; i < 1000; i ++)    //即使不定义关键字register,C++也会做优化
     {
        printf("i:%d\n", i);
      }
     system("pause");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值