簡體   English   中英

為什么 c++(和大多數其他語言)同時具有“for”和“while”循環?/你可以用一種類型做什么而你不能用另一種類型做什么?

[英]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++ 中,對於特定任務,兩者中的哪一個更好? switchesif怎么樣? 那里有什么區別嗎?

如果沒有,那么將不勝感激關於為什么實施它們的答案。

沒有什么可以用一種類型做而不能用另一種類型做的,因為它們之間存在機械轉換:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM