エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
基底型が bool であるような scoped enum の型変換の異常動作を追い掛けた話 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
基底型が bool であるような scoped enum の型変換の異常動作を追い掛けた話 - Qiita
というわけで、 clang と gcc のバージョン次第で挙動が異なる という現象に遭遇した。 clang の HEAD (... というわけで、 clang と gcc のバージョン次第で挙動が異なる という現象に遭遇した。 clang の HEAD (13.0.0) でのみ true で、他では false になっている。 さらには、 BoolEnum(-3) のように奇数を渡すと clang でも gcc でも true になる。 これは未定義動作か、処理系定義の動作か、それともコンパイラのバグだろうか? まずは規格から追い掛けていこう。 なお、本文書では C++20 規格に editorial fix を適用した post-publication draft である n4868 (HTML, PDF) を規格として参照する。 static_cast<bool>(-2) の場合 static cast は [expr.static.cast] 節で定義されており、特に整数から bool 型への変換は [expr.

