在C ++代码行中,“?”和“:”字符的作用是什么

问题描述 投票:0回答:2

我只是想知道"?"":"字符的作用。我正在处理一个问题,遇到了?。解决方案显示一个问号,我不知道它做什么。另外:运算符的作用是什么?

return firstNum > secondNum ? vector<int>{secondNum, firstNum}:vector<int>{firstNum, secondNum};
c++
2个回答
5
投票

ternary conditional operator

E1 ? E2 : E3        

条件运算符的第一个操作数被求值,上下文转换为bool。经过价值评估和如果结果是,则第一个操作数的所有副作用都已完成如果为true,则评估第二个操作数。如果结果为假,则第三个操作数被求值。


0
投票

[补充@Andreas DM的内容,这类似于编写if-else语句的版本。与使用if不同,它返回值。

if (condition) {
    std::cout << "True\n";
} else {
    std::cout << "False\n";
}

相当于:

std::cout << (condition ? "True\n" : "False\n");
© www.soinside.com 2019 - 2024. All rights reserved.