C++对C的扩展——register关键字增强 register关键字:请求编译器让变量直接放到CPU内部寄存器里面,而不是通过内存寻址访问,速度快。 在C语言中,register修饰的变量不能取地址,去寄存器变量的地址在C语言里面是会出错的。 同样的代码我们放到C++编译环境下,发现编译是通过的! 在C++中依然支持register关键字,C++编译器有自己的优化方式,不使用register也可能做优化;并且C++中可以取得register变量的地址,C++编译器发现程序中需要取register变量的地址时,register对变量的声明变的无效。早期的C语言编译器不会对代码进行优化,因此register变量是个很好的补充。 我们说一下C++编译器的优化方式: 像for循环这种频繁使用i的地方,C++编译器会做优化,将变量i放到寄存器里面,加快程序的执行速度。也就是C++即使不用关键字register也会优化。 【C++】笔记系列均为原创,转载请注明转自微号:Lightspeed-Tech 或 AutoCode 更多精彩资料,请关注!
|