c++ - while循环条件c++中 ","的用途是什么?

标签 c++ while-loop

<分区>

string command;
string bookName;
while (cin >> command, command != "END")
{...}

在while循环的条件中,有一个逗号。 我知道可以使用 &&|| 添加多个条件。

但是为什么要使用,呢?

有什么好处吗?你能解释一下用法和语法吗?

最佳答案

它是逗号运算符,也称为“评估并忘记”运算符。 a,b的效果是:

  1. 评估a,包括任何副作用
  2. 丢弃它的值(value)(即什么也不做)
  3. 评估b
  4. 使用b的结果作为整个表达式a,b的结果

循环的作者想要表达以下内容:

Read command from cin, and then enter the loop body unless command is equal to "END"

但是,他们最好在这里使用 && 而不是 ,,因为 cin >> 命令 可能会失败(即如果在找到单词 END 之前到达输入结尾)。在这种情况下,带有 , 的条件将不会执行预期的操作(它可能会永远循环,因为 command 永远不会收到值 END ),而带有 && 的条件会做正确的事情(终止)。

关于c++ - while循环条件c++中 ","的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44900696/

相关文章:

Java 将 For 更改为 While

php - 仅发布使用 while 循环创建的表单中的选择值

java - 4.23 Java 中匹配数字之前的实验倒计时

for-loop - 打破 tcl 中的父循环

c++ - QPainter 未激活

c++ - 使用自动循环时代码崩溃

c++ - "subset of superset"是什么原理?

c++ - (shared_ptr+weak_ptr)兼容原始指针的设计

c++ - 抛出 std::out_of_range 异常 C++

Java如何在switch语句下打破while循环?