具有 2 个条件的 C++ while 循环,VS。 for循环有2个条件?
C++ while loop with 2 conditions, VS. for loop with 2 conditions?
如果我想遍历一个字符串,并在找到字母 "o" 或字符串结尾时停止,使用 while 循环来检查这两个条件会有什么不同,或具有 2 个条件的 for 循环?
const int STRING_SIZE = 16;
char str[STRING_SIZE] = "a bunch of words";
for 循环
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++
}
两者在性能上有区别吗?一种做法比另一种更好吗?
两个循环之间的性能没有区别,除了:
for()
检查条件,如果为真则执行其主体。所以 for
类似于 while
循环。
do-while
循环的工作方式略有不同:先执行然后检查,因此至少可以确保执行。
如果我想遍历一个字符串,并在找到字母 "o" 或字符串结尾时停止,使用 while 循环来检查这两个条件会有什么不同,或具有 2 个条件的 for 循环?
const int STRING_SIZE = 16;
char str[STRING_SIZE] = "a bunch of words";
for 循环
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++
}
两者在性能上有区别吗?一种做法比另一种更好吗?
两个循环之间的性能没有区别,除了:
for()
检查条件,如果为真则执行其主体。所以 for
类似于 while
循环。
do-while
循环的工作方式略有不同:先执行然后检查,因此至少可以确保执行。