関数の引数は bool より enum
void enable(bool enable);
このような関数なら、enable(true); と書けば「有効にする」で、enable(false); と書けば「無効にする」ということが一目瞭然ですので問題ありません。
でも、boolって何を意味しているのか結構わからなくなることが多いんです。
void drawRedOrBlueBox(bool dotted, bool red, bool placeBottom);
無理矢理な例でよくわからないかもしれませんが、この場合に
drawRedOrBlueBox(true, true, true);
と書いてあっても意味不明ですよね。
そこで enum を使います。
enum LineType { LINE_TYPE_SOLID, LINE_TYPE_DOTTED }; enum Color { COLOR_BLUE, COLOR_RED }; enum Place { PLACE_TOP, PLACE_BOTTOM }; void drawRedOrBlueBox(LineType, Color, Place);
このように定義しておけば
drawRedOrBlueBox(LINE_TYPE_DOTTED, COLOR_RED, PLACE_BOTTOM);
と記述することができます。enum をいちいち記述するのはめんどくさいかもしれませんが、読みやすいですよ。
えっ!? IDEの手助けがあれば仮引数表示してくれるから問題ないって!?
スミマセン、私、oldtype な Emacs ユーザーなものでして…