パスワードを忘れた? アカウント作成
14078322 journal
日記

torlyの日記: age=age++; 7

日記 by torly

 SUSHIにケーキという滅茶苦茶炭水化物過剰な食事、しかもその直前に朝昼食べ逃したのでバナナを喰ってるという最悪な流れ…血糖値が!! 血管壁が!!

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2019年12月27日 21時18分 (#3738044)

    なんかの意味か意図があるのだろうか?

    # おめでとうございます

    • by Anonymous Coward on 2019年12月28日 4時05分 (#3738153)

      ・C++17では未定義ではなくなって年齢が増えないことが確定した
      ・正確には一瞬増えてからもとに戻る
      ・ageがvolatileでなければ最適化により結局何もしないかもしれない
      ・operator++やoperator=が定義されていたら字面からはまったくわからない動作をするかもしれない
      ・C++17からは演算子オーバーロードされていても、組み込み演算子の場合と同じ評価順が保証されるようになった
      ・JavaやECMAScriptもC++17と同様、年齢は増えない
      ・C言語ではまだ未定義だったはず

      親コメント
      • by Anonymous Coward

        > ・C++17では未定義ではなくなって年齢が増えないことが確定した

        あ、たとえばageがint型で値がINT_MAXだったら(整数オーバーフローにより)相変わらず未定義。C++17では ++ が = に対してsequenced beforeになったって話ね。

    • by Anonymous Coward
      法的には誕生日の0時0分0秒には増えている、即ち誕生日の前日が終わる瞬間に増えるのだから、++age; が妥当かと。代入はどーでもいい。
      • by Anonymous Coward

        ++ageだとまずまちがいなく歳くってしまうだろ。
        規格上はage++とおなじ扱いにはなってるだろうけど、age=++age;と++age;とで結果が異なる実装は考え辛い。

        • by Anonymous Coward

          > age=++age;と++age;とで結果が異なる実装は考え辛い。

          近頃のコンパイラーは未定義動作を見つけるや(GCC拡張の)__builtin_unreachableであるかのように扱ったりするから油断ならんぞ

    • by Anonymous Coward

      某匿名掲示板にニュース・ΜL キチガイリストというスレがあってだな…

typodupeerror

人生の大半の問題はスルー力で解決する -- スルー力研究専門家

読み込み中...