- 主题:++i和i++有什么本质区别?
int i = 1;
cout << ++i << " " << i++;
VS2019 输出 3 1,g++ 里输出 2 2
不知道为啥还不一样,感觉前者完全是错的?
【 在 yytree 的大作中提到: 】
: You don't need to ask others everywhere,
: you'd better write a code and debug it,
: then you will find the answer by yourself.
: ...................
--
FROM 180.166.53.*
感觉是编译优化导致的,禁止优化后
vs 输出 2 1,略微接近了,但是还不太一样。
【 在 iconquer 的大作中提到: 】
: int i = 1;
: cout << ++i << " " << i++;
: VS2019 输出 3 1,g++ 里输出 2 2
: ...................
--
FROM 180.166.53.*
加上括号 visual studio 也是打出来不对呢?
【 在 ArchLinux 的大作中提到: 】
: 你这代码本来就是未定义行为,因为同一行的两个有副作用的表达式不知道哪个先求值。
--
FROM 180.166.53.*
我就问微软的编译器咋出个乱七八糟的结果
【 在 Miniris 的大作中提到: 】
: 一看到本质就紧张,怕以往的理解太肤浅
: --
:
发自「今日水木 on V1981A」
--
FROM 223.104.41.*