假設您想要在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'循環代碼遮住,並將第二個條件看作是特殊的東西。老實說,我認爲這只是微不足道的。 –