我目前正在德國學習計算機科學,但在做過幾個C/C++開源項目之前。 今天我們開始在學校用C,我的老師說這將是一個沒有去修改循環內的循環變量,我絕對同意。但是,我經常使用一個沒有最後一個增量部分的for循環,然後在循環內部修改它只有,這也是他不喜歡的。爲沒有增量vs
所以基本上可以歸結爲
for(int i=0; i<100;) {
[conditionally modify i]
}
VS
int i=0;
while(i<100) {
[conditionally modify i]
}
我知道,他們基本上是編譯後是相同的,但我不喜歡使用while循環,因爲:
- 通常的做法是將變量限制在最小範圍內
- 它可以引入錯誤,如果你再用我(你有因爲到更大的範圍)
- 你不能在以後的循環使用不同類型的,因爲我沒有使用不同的名稱
是否有任何風格指南/常見做法哪一個可供選擇?
如果您回答「我喜歡while/for more」,至少爲您提供了一個原因。
我已經搜索過類似的問題,但是我找不到任何真實的答案。
沒有「硬規則」對你使用一個for循環的。如果你需要它,使用它。但是,檢查是否有一些標準庫方法的算法可以首先解決底層問題。 (從C++迭代循環POV大多說到此處,標籤是自除去。) –
SMH我不; t等'[有條件地修改I]'一部分。如果情況從未得到滿足呢? –
*「我的老師說,在循環內部修改for循環變量是不行的,我完全同意這個觀點。」*:你問老師他爲什麼這麼想?你爲什麼同意他? – haccks