[送分题] 哪种循环速度快?解决方案


[送分题] 哪种循环速度快
最近做对速度很敏感的程序,用到大量循环.想知道那种速度更快.

循环体内执行语句相同.
int   i;

//   1
for   (i   =   0;   i   <   256;   i++)
{
//....
}

//2
i   =   256;
while(i--)
{
//......
}

//3
i   =   0;
do
{
//....
}while(i++   <   255);


基本概念 C++/VC 程序开发

我就是⑨~ 11 years, 10 months ago


do {

if(!...) break;
...
if(!...) break;
...
if(!...) break;
...
}
while(false);
这个好啊,我也用,我基本就拿他代替goto,

Rgmsk answered 11 years, 10 months ago


for(register int i = 0; i < 256; i++)更好一点
不过不加register,优化时也可能自动加上

goddnes answered 11 years, 10 months ago


for最快,这个在Pascal里好像也是
测一下就知道了

法老控D轨迹 answered 11 years, 10 months ago


奇怪了,怎么都喜欢用for 我也是...



哆啦炼金术师 answered 11 years, 10 months ago


我习惯有while(){}感觉还可以.

铁蓝色D意志 answered 11 years, 10 months ago


我只在以下情况下用 do...while, 比用 for 稍方便

do {

if(!...) break;
...
if(!...) break;
...
if(!...) break;
...
}
while(false);

我真名叫Th answered 11 years, 10 months ago


for (i = 0; i < 256; ++i)
{
//....
}
for(int i = 256; i> 0 ;--i)
{}

史莱姆的吐槽 answered 11 years, 10 months ago


这种优化?
没有必要优化,
更为重要的是优化循环内的代码!!!

可不可以,直接访问存储地址。。。


你们最讨厌了 answered 11 years, 10 months ago


2比3快 至于1是否比2快 不知道

娅拉娜伊卡 answered 11 years, 10 months ago


看能不能改成少用循环的算法

奴家感到很为难 answered 11 years, 10 months ago


for快

水疗抽水机 answered 11 years, 10 months ago


这种优化?
没有必要优化,
更为重要的是优化循环内的代码!!!

薛定谔的闪闪 answered 11 years, 10 months ago


大师都建议用for

这个速度是编译器决定的吧

xuelide answered 11 years, 10 months ago

Your Answer