首頁 > 後端開發 > C++ > 主體

C/C 中的無限循環:哪一種形式最好?

Susan Sarandon
發布: 2024-11-15 03:08:02
原創
229 人瀏覽過

 Endless Loops in C/C  : Which Form is Best?

C/C 中的無限循環檢測

在C/C 中,通常使用以下三種構造之一來建立無限循環:

  • for(;;) {}
  • while(1) {} / while(true) {}
  • do {} while(1) / do {} while(true)

這些形式的選擇主要取決於偏好問題,客觀上沒有一個是優越的。

語法和語法上的差異行為

  • for(;;) {}: 標準C 語法,可以追溯到Kernighan和Ritchie 的開創性工作。它被認為是歷史性的,但仍然被廣泛接受。
  • while(1) {}:在行為上相當於 for(;;) {} 並被廣泛使用。現代編譯器會針對恆定條件發出編譯器警告,這可能是缺點。
  • while(true) {}: while(1) {} 的更具可讀性的替代方案,但依賴bool 類型,可能需要包含頭檔。

現代編譯器行為

現代編譯器通常將所有三種形式視為相同,從而產生相同的機器碼。他們認識到這些循環旨在是無限的,並且不執行顯式條件檢查,從而相應地優化程式碼。

個人偏好

選擇使用哪種形式最終是個人的,並受到以下因素的影響:

  • 可讀性:有些程式設計師喜歡while(true) {},因為其明顯的清晰度。
  • 編譯者警告: while(1) {} 和while(true) {} 可能會因條件恆定而觸發警告訊息.
  • 歷史遺產: for(;;) {}由於與早期發展的關聯而仍然很受歡迎C.

最終,無限循環的最佳形式是符合程式設計師的偏好和風格,同時尊重可能存在的任何程式碼約定或指南的形式。

以上是C/C 中的無限循環:哪一種形式最好?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板