[英]Why does c++(and most other languages) have both 'for' and 'while' loops?/What can you do with one type that you can't with the other?
為什么大多數編程語言都有兩種或兩種以上幾乎沒有區別的循環? 在 c++ 中,對於特定任務,兩者中的哪一個更好? switches
和if
怎么樣? 那里有什么區別嗎?
如果沒有,那么將不勝感激關於為什么實施它們的答案。
沒有什么可以用一種類型做而不能用另一種類型做的,因為它們之間存在機械轉換:
while (X) { body; }
可以寫成
for (;X;) { body; }
和
for (A;B;C) { body; }
可以寫成
{ A; while (B) { body; C; } }
唯一的區別是可讀性。 for 循環將更新表達式C
放在循環的頂部,使其更容易識別某些模式,例如在數字范圍內循環:
for( i = 0; i < limit; ++i )
或遵循鏈表
for( ; ptr != nullptr; ptr = ptr->next )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.