[闲聊] ?:

楼主: fxfxxxfxx (爱丽丝)   2022-10-21 16:26:08
在 C++ 里的 conditional operator (?:)
如果第二个和第三个算子都是型别相同的 lvalue 的话
结果也会是那个型别的 lvalue
所以你可以写出像是
int a = 1, b = 2;
(a > b ? a : b) = 99;
这种东西,结果会是 a: 1, b: 99
然后 C 不能这样写,在 C 里 (a > b ? a : b) 的结果会是 rvalue
:O
我也是第一次听到觉得干怎么可能 :O

Links booklink

Contact Us: admin [ a t ] ucptt.com