c++ - C++ 中的返回表达式检查条件

标签 c++ expression

来自 Lua 背景,编写 C++ 代码时仍在习惯格式。 如何正确格式化 if/条件表达式,如下面我的示例所示。

这将正确运行,但会出现不理想的警告:

return (boolean == true) and init() or 0;

突出显示警告:

expected a ';'C/C++ (between "(boolean == true)" "and")

最佳答案

andor 关键字被认为有点过时。它们是现代 C++ 中技术上有效的 C++ 关键字(似乎是从 C++98 开始)。您必须使用非常古老的 C++ 编译器,该编译器是在它们添加到 C++ 之前编写的。它们以及它们的用途从未流行起来。经典的 &&|| 运算符继续占据主导地位,不会消失。

因此:虽然这个表达式在逻辑上确实应该等价于 boolean && init(),但您可能需要考虑为更新 C++ 编译器分配更高的优先级,如果这确实是编译错误的原因。

关于c++ - C++ 中的返回表达式检查条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72835974/

相关文章:

c++ - 别名的别名?

java - 如何在 JPA 中从表达式转换为 CriteriaBuilder

python - 如何在 nuke 表达式中为 python 函数提供参数?

c++ - 实现 A( :, k)=b; C++ 矩阵库中类似 Matlab 的语法:避免 const-ness

c++ - 在父类中为多个 child 定义方法

c++ - 我如何编写当前程序以将命令输入到 C++ 中的另一个控制台?

c++ - 恒定大小字符串的高效 HashMap

c++ - 检测类是否具有带签名的构造函数

c# - 将 Lambda 表达式树与 IEnumerable 结合使用

regex - 正则表达式匹配除全零之外的任何数字?