安全な bool(Safe bool)イディオムは、直感的な if 文を使ったテストという構文的な利便性を可能とするが、同時に、知らぬ間にコンパイルされてしまう意図しない文を防ぐ。 以下が、安全な bool(Safe bool)イディオムのコードである。 class Testable { bool ok_; typedef void (Testable::*bool_type)() const; void this_type_does_not_support_comparisons() const {} public: explicit Testable(bool b=true):ok_(b) {} operator bool_type() const { return ok_==true ? &Testable::this_type_does_not_support_comparison