パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

age=age++;」記事へのコメント

  • by Anonymous Coward

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

    # おめでとうございます

    • 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になったって話ね。

普通のやつらの下を行け -- バッドノウハウ専門家

処理中...