注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
bool型で初期化したいクラスがあるとする。 struct Boolen { Boolen( bool ) { } } ; 残念ながら、この... bool型で初期化したいクラスがあるとする。 struct Boolen { Boolen( bool ) { } } ; 残念ながら、このクラスは、あまり宜しくない。なぜならば、C++には、忌々しい暗黙の型変換というものがあるからだ。 int main() { Boolen a = true ; // OK、当然だ Boolen b = 123 ; // OK、ハァ? Boolen c = &a ; // OK、おいおい、おかしいだろ常識的に考えて } このような馬鹿げたコードは、コンパイルエラーになって欲しい。もし、数値やポインターをboolとして扱いたいのであれば、明示的にキャストするべきなのだ。 int main() { Boolen a = true ; // OK、当然だ Boolen b = bool( 123 ) ; // 自分が何をしているのかは十分承知している Bool
2011/06/22 リンク