假设您想要在C++中创建一个for循环,但除了确定的条件之外,您还知道什么时候该循环或应该停止循环。请注意,这样的条件不一定必须是硬编码的,循环也不应该始终具有这样的确定值。这只是一个例子,可能对随机循环有用,或者在运行时确定内容的内容。让我们保持这个例子的简单,并将重点放在可以应用于编程中的任何此类相关任务的解决方案上。C++什么是停止for循环的“最佳”方式?
我想比较这两个解决方案。第一个使用break语句,第二个使用多个或组合条件。就效率或可靠性而言,哪一种是完成任务的“最佳”或“正确”方式。哪一个不太容易出错?随意提出另一种解决方案。
const int MAX_SIZE = 10;
int myArray[MAX_SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// two ways to stop a loop
for (int x = 0; x < MAX_SIZE; x++) {
if (myArray[x] == 7) {
break;
}
cout << myArray[x] << “ “; // fixed
}
for (int x = 0; (x < MAX_SIZE) && (myArray[x] != 7); x++) {
cout << myArray[x] << “ “;
}
我会选择第二种形式,因为它将条件保留在一个地方,并且实际的循环代码不受干扰。我认为这归结于优先。 – user2296177
似乎你的循环有不同的行为。假设x为0,myArray [0]等于7. – PaulMcKenzie
我的意思是说,在这两种情况下,您每次都进行相同次数的比较。我认为第一个更具可读性,不过因为任何人都可以将标准的'for'循环代码遮住,并将第二个条件看作是特殊的东西。老实说,我认为这只是微不足道的。 –