答案 0 :(得分:0)
该博客是正确的,但是,从我的经验来看,这比更改一些小调整更为复杂。
重要元素不是循环的顺序。从-10变为0时,您会得到相同的效果。这里的相关元素是与0的比较。CPU有专用于与0进行比较的指令,而与任何其他数字的比较则需要使用通用比较。
因此对于循环,是的,它将更快。但是,如前所述,还有很多其他方面。编译器优化行循环展开可能会删除完整循环。几乎任何操作都比循环本身更昂贵,并且算法更改可以节省大量时间。
有关与零进行比较的更多详细信息,您可以从以下线程开始:Is comparing to zero faster than comparing to any other number?
答案 1 :(得分:-4)
它知道此循环的最后位置为0,因此无法检查条件。 所以它的直接i-1然后打印
int main()
{
int i;
for( i =10; i--;)
{
cout<<i;
}
return 0;
}