我只是想知道"?"
和":"
字符的作用。我正在解决一个问题,遇到了?
。解决方案显示一个问号,我不知道它做什么。 :
运算符还可以做什么?
return firstNum > secondNum ? vector<int>{secondNum, firstNum}:vector<int>{firstNum, secondNum};
答案 0 :(得分:5)
这是ternary conditional operator
E1 ? E2 : E3
对条件运算符的第一个操作数求值并 上下文转换为bool。经过价值评估和 如果结果是,则第一个操作数的所有副作用都已完成 如果为true,则评估第二个操作数。如果结果为假,则 计算第三个操作数。
答案 1 :(得分:0)
要补充@Andreas DM的内容,这类似于编写if-else
语句的版本。与使用if
不同,它返回一个值。
if (condition) {
std::cout << "True\n";
} else {
std::cout << "False\n";
}
等效于:
std::cout << (condition ? "True\n" : "False\n");