c++ - 逗号运算符的正确用法是什么?

标签 c++ c coding-style comma-operator

我看到了这段代码:

if (cond) {
    perror("an error occurred"), exit(1);
}

你为什么要这样做?为什么不只是:

if (cond) {
    perror("an error occurred");
    exit(1);
}

最佳答案

在您的示例中,它根本没有任何理由。有时写成这样很有用

if(cond)
  perror("an error occured"), exit(1) ;

-- 那么你就不需要花括号了。但这是灾难的邀请。

逗号运算符是将两个或多个表达式放在引用只允许一个的位置。在您的情况下,无需使用它;在其他情况下,例如在 while 循环中,它可能很有用:

while (a = b, c < d)
  ...

while 循环的实际“评估”仅由最后一个表达式控制。

关于c++ - 逗号运算符的正确用法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17902992/

相关文章:

c++ - 在 std::vector 中存储 BSONObj 对象会因大文档而崩溃

c++ - 为什么我必须通过this指针访问模板基类成员?

c - 这个 fork() 程序的输出

javascript - 有没有一种优雅的方法可以在 foreach() 之后链接 join() ?

c++ - 如何链接单线程CRT libc.lib?

c++ - 更正 Xcode 中的工作流以避免错误 : duplicate symbols for Architecture x86_64

c - Memcpy 或结构赋值?

python - 我可以强制 numpy ndarray 获取其内存的所有权吗?

coding-style - Ocaml:糟糕的风格,此模式匹配中的所有子句都受到保护

objective-c - 附加到 NSString 时应该使用中间临时变量吗?