■
-内容のまとめ
書いてあった内容の概要です
expandコードリーディングの続き。
- 繰り返す回数に注意
- 3つの式の評価について
- 無限ループ形成
-練習問題
P38. リスト2.4 無限ループするP58. リスト2.10 バイナリサーチ
P83. 冒頭 オブジェクトのポインタをたどる
P107. 上段 2次元配列にアクセスする
P113. 中段 リングバッファへのアクセス
P123. 中段 連結リストのすべての要素に操作を適用する
P124. 下段 連結リストの要素を削除する
P129. 中段 ハッシュ関数を使って連結リストにアクセスする
P309. リスト9.7 プロセスを一つずつたどる
(2.17) この節の例を、forではなくwhileで表現しなさい。どちらの表現が読みやすいかを検討しなさい。
例1:
for(i = 0; i < len; i++){}
whileに書き換え: i = 0;
while(i < len){
hoge
i++;
}
例2:
for(i = 0; i <= extrknt; i++){}
whileに書き換え: i = 0;
while(i <= extrknt){
hoge
i++;
}
例3:
for(i = 1; i < extrknt; i++){}
whileに書き換え: i = 1;
while(i < extrknt){
hoge
i++;
}
まだまだ例あるけど・・・カット!
要するに
while文の直前に変数初期化文を記述
while()の括弧内に繰り返しの条件を記述
while{}文の最後に変数のインクリメント等を記述
すればいい。
読みやすさは,3つの条件を記述する必要がある時はfor文が読みやすい。
繰り返しの条件のみでよいとき、無限ループ等はwhile文が読みやすい。
理由:記述量が減るから。