正如在主题中,我在学校里学到的是,速度更快,但有人告诉我,虽然速度更快......我必须优化程序,我想写'while',而不是'for',但是......它赢了'慢一点?例如:
for (int i=0; i<x; i++)
{
cout<<"dcfvgbh"<<endl;
}
Run Code Online (Sandbox Code Playgroud)
我会写:
i=0;
while (i<x)
{
cout<<"dcfvgbh"<<endl;
i++;
}
Run Code Online (Sandbox Code Playgroud)
Jer*_*fin 10
该标准要求(§6.5.3/ 1):
该
for语句
对于(用于-INIT-语句条件选择 ;表达选择)语句
相当于Run Code Online (Sandbox Code Playgroud){ for-init-statement while ( condition ) { statement expression; } }
因此,您不太可能看到它们之间存在太大差异(即使执行时间不一定是标准中指定的等效项的一部分).在等价中也列出了一些例外(如果执行a,在评估条件之前,名称的范围,表达式的执行continue).后者至少在理论上可以在某些条件下稍微影响速度,但可能不足以注意或关注作为规则,并且除非你实际使用了continue循环内部,否则绝对不会.