1

最初のget_first()を使用してリストを反復処理し、その後get_next()を呼び出して、リストの最後にNULLを返すとします。

どちらを読みたいですか?

element = get_first(list);
while (element)
{
    process(element);
    element = get_next(list);
}

対。

for (element = get_first(list); element; element = get_next(list))
{
    process(element);
}

反復の状態はリスト構造体内に保存されます。

私は個人的にはこのバージョンに慣れていwhileますが、誰かがこのバージョンを使用しているのを見たとき、for何が起こっているのかも簡単に理解できたので、今ではほとんどの人にとってどちらが読みやすいのか疑問に思います。

4

1 に答える 1

0

どちらも非常に読みやすいです。読者をどちらとも混同しないでください。whileループは間違いなくもう少し読みやすいので(ただし、マイレージは異なる場合があります...)、リストが1回だけ繰り返される場合はおそらくそれを使用し、そうでない場合はより簡潔なforループを使用します。

于 2012-09-22T10:10:31.147 に答える