友友们,好久不见!
1、很多人在用无限循环时一般采用while(true),例如以下代码:
while(true)//while()
{
cout<<"are you pig?"<<endl;
}
也许你可能没有想到
for(;;)
{
……
}
也可以实现该功能。
那么问题来了,我们应该选择while(true)还是for(;;)
2、关于for(;;)与while(true)的比较
请看两者编译后的汇编代码:
(1)while(true)
mov eax,1
test eax,eax
je foo+23h
jmp foo+18h
(2)for(;;)
jmp foo+23h
由上可知:
显然,for (;;)指令少,不占用寄存器,而且没有判断、跳转,比while (1)好。
so,你知道答案了吗
今天特意给大家推荐一个特别强的在线编译器,而且还可以看到其对应的汇编语言,心动了吗?网址如下:
c++在线编译器