2019/10/30更新:C++最新标准对于register的使用发生变动,请核对你的编译器/oj的标准是否认register(不是说编译过去就能用)
今天看到这么一段代码
void floyd(){
for(register int a=1;a<=v;a++){
for(register int b=1;b<=v;b++){
for(register int c=1;c<=v;c++){
if(G[b][a]+G[a][c]<G[b][c])G[b][c]=G[b][a]+G[a][c];
}
}
}
return;
}
这个register int
中的register 表示使用cpu内部寄存器(寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件)的变量,而平时的int是把变量放在内存中,存到寄存器中可以加快变量的读写速度
这是一个循环1e8的代码在使用int的用时
如果是register int
注意一般在多层循环用