C++ register关键字作用

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定义变量和直接内存寻址定义变量来计算时间
运行结果:

C++ register关键字作用_第1张图片
C++ register关键字作用_第2张图片
可以看出 register的效率更高,执行时间比常规内存寻址更快,但是register受限于cpu寄存器的大小,一般情况下不需要用,仅供学习了解。

你可能感兴趣的:(C++)