C ++ while循环有2个条件,VS. for循环有2个条件?

时间:2018-02-25 00:29:15

标签: c++ performance loops coding-style

如果我想迭代一个字符串,并在找到字母" o"或者字符串的结尾,使用while循环来检查2个条件,或者使用2个条件的for循环会有什么不同吗?

const int STRING_SIZE = 16;
char str[STRING_SIZE] = "a bunch of words";

for loop

for (int i = 0; i < STRING_SIZE && str[i] != 'o'; i++){
    //do something
}

while循环

int i = 0;

while (i < STRING_SIZE && str[i] != 'o'){
    //do something
    i++
}

两者之间是否存在性能差异?是比其他人更好的做法吗?

1 个答案:

答案 0 :(得分:0)

除了:

之外,两个循环之间的性能没有差异

for()检查条件然后如果是,则执行其正文。因此forwhile循环相似。

do-while循环略有不同:它执行然后检查,以确保至少执行。