int a = 1, b = 0;
// (a > b ? a : b) = 100; // 编译错误 ?:不能作为左值
*(a > b ? &a : &b) = 100; // 正确
三元表达式“?:“赋值
C++条件运算符的理解与使用
最新推荐文章于 2025-05-15 15:58:46 发布
这篇博客探讨了C++中的条件运算符 `(a > b ? a : b)` 的用法。文章通过示例解释了为什么 `(a > b ? a : b) = 100` 会导致编译错误,而 `*(a > b ? &a : &b) = 100` 是正确的。博主深入解析了条件运算符的左右值特性,并强调了指针在条件运算中的作用。

285

被折叠的 条评论
为什么被折叠?



