[閒聊] ?:

作者: 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