c++で簡単にコーディングすると、非常に驚くべき衝撃的な論理的問題が発生します。
次の 2 つのコード チャンクを参照してください。
コード 1
int m = 5, n = 0;
n = m++ * ++m;
//This print m = 7 and n = 36
//Which is logically wrong
コード 2
int m = 5;
int n = m++ * ++m;
//This print m = 7 and n = 35
//Which is logically right
論理的に考えると、コード ブロック 2 は正しい答えを与えますが、驚くべきことまたは魔法のことは、コード ブロック 1 の何が問題なのかということです。
部分コードは同じで、int n
先に宣言しただけです。
いくつかのコンパイルかもしれません!!!!!!!!