エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
「密」のときと「密でない」ときで挙動が変わる C++ プログラム - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
「密」のときと「密でない」ときで挙動が変わる C++ プログラム - Qiita
実行 解説 & の間の空白の有無によって異なる構文に解釈される。 密 a&&b → a && b → a.operator int() ... 実行 解説 & の間の空白の有無によって異なる構文に解釈される。 密 a&&b → a && b → a.operator int() && b.operator int() → 1 && 1 → true 密でない a & & b → a & (&b) → a.operator int() & (b.operator&()) → 1 & 0 → false if (初期化; 条件) のように書けるのは C++17 からの文法。 ソースコード # include <iostream> struct X { int operator & () { return 0; } operator int () { return 1; } }; int main() { if (X a,b;a&&b) std::cout << "!!密!!\n"; else std::cout << "密ではない\n