register 关键字作用
- register用来声明变量,然后声明出来的变量是直接放在cpu的寄存器当中,而非就是通过内存寻址访问,这样效率更高。
- 示例代码:
#include "stdafx.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
//
clock_t starttime,endtime,start_time,end_time;
start_time = clock();
register int a = 3;
for (int i = 0 ; i <100 ; i++)
{
cout << a <<endl;
}
end_time = clock();
cout << start_time << " and " <<end_time << endl;
starttime = clock();
int b = 3;
for (int j = 0 ; j < 100; j++)
{
cout << b << endl;
}
endtime = clock();
cout << starttime << " and " <<endtime << endl;
system("pause");
return 0;
}
这边是通过一种register定义变量和直接内存寻址定义变量来计算时间
运行结果:
可以看出 register的效率更高,执行时间比常规内存寻址更快,但是register受限于cpu寄存器的大小,一般情况下不需要用,仅供学习了解。