c++ - 语法错误? C++中的运算符

标签 c++

我正在使用 ?运营商和我想表达以下内容

  (a > b) ? (max = a) : (); // basically i want expression after `:` to be null

如果我在 : 后留下空括号,编译器会提示语法不正确。将 : 后的表达式留空的正确语法是什么?

最佳答案

i like to conciseness of code in ? operator

if (a > b) max = a; 更简洁,如果我们计算字符的话。这是一个糟糕的指标。

理想情况下,您的三元运算符不应引起副作用。将副作用隐藏在三元运算符中会使代码更难阅读/调试/维护等。

如果您想要副作用,请不要涉及三元运算符。

如果您想为此使用三元运算符,请考虑 max = (a > b) ? a : 最大值

关于c++ - 语法错误? C++中的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14618434/

相关文章:

c++ - Rcpp:更改列表列表中的列表项

c++ - 声明对象后::是什么意思?

c# - 排序 C++ vector 和 C# 列表

c++ - 如果我删除复制构造函数,我是否没有隐式移动构造函数?

c++ - Windows上使用C++获取文件属性变化时间

c++ - vector<A> vs vector<A*> vs vector<shared_ptr<A>> 在 C++ 中

c++ - 尝试实现渲染到纹理

c++ - 模板 <class = void*>,希望得到解释

c++ - #在C++代码中代表什么?

c++ - 连接字节值的超快速方法