DoNothing()

1 コード

1.1 DoNothing() メソッド

2 要素と概念

2.1 null 文

C++ では、null 文を使用することが可能である。 null 文とは、リスト 19-23 に示すように、セミコロン(;)だけで構成された文である。


リスト 19-23 従来の null 文の例(C++

while ( recordArray.Read( index++ ) != recordArray.EmptyRecord() )
    ;


「19.3 null 文」p544 *1


■null 文を目立たせる

null 文は一般的でないため、目立つようにする。 1 つの方法は、null 文のセミコロン(;)だけで 1 行にし、他のステートメント同様にインデントをつけることだ。 リスト 19-23 では、この方法をとっている。 あるいは、中かっこ({})を使って null を強調するという方法もある。


「19.3 null 文」p544 *1


■null 文の代わりに DoNothing メソッドプリプロセッサマクロやインライン関数を作成する

null 文は何もしないが、そこでは何もしないということになっているという事実を疑いようもなく明らかにする。 これは、空のページに「このページにはわざと空けてある」という文を書いておくのと同じだ。 そのページは実際には空ではないが、そこには何も書かれていないという前提になっていることがわかる。 #define を使って C++ の null 文を作成すると、リスト 19-25 のようになる(インライン関数として作成しても、同じ効果が得られる)。


リスト 19-23 DoNothing で強調された null 文の例(C++

#define DoNothing
...
while ( recordArray.Read( index++ ) != recordArray.EmptyRecord() ) {
    DoNothing();
}

DoNothing は、空の while ループや for ループだけでなく、switch 文の重要でない選択肢に使用することもできる。 DoNothing を追加すると、そのケースが考慮されていて、そこでは何もしないと判断されたことが明確になる。  使用している言語がプリプロセッサマクロやインライン関数をサポートしていない場合は、呼び出し元のルーチンに制御を戻すだけの DoNothing ルーチンを作成すればよい。


「19.3 null 文」p545 *1


A 参照

*1 McConnell, Steve 『Code Complete 第 2 版 上―完全なプログラミングを目指して』 2005 年 日経 BP ソフトプレス ISBN 489100455X


Amazon アソシエイト