C++,三元运算符,std::cout

发布于 2024-11-18 19:23:16 字数 299 浏览 3 评论 0原文

如何使用 C++ 用三元运算符编写以下条件

int condition1, condition2, condition3;
int / double result; //int or double
....
std::cout << ( condition1: result1 : "Error" ) 
          << ( condition2: result2 : "Error" )
          << ( condition3: result3 : "Error")...;

How to write the following condition with a ternary operator using C++

int condition1, condition2, condition3;
int / double result; //int or double
....
std::cout << ( condition1: result1 : "Error" ) 
          << ( condition2: result2 : "Error" )
          << ( condition3: result3 : "Error")...;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

北方的巷 2024-11-25 19:23:16

取决于 result1、result2 等的类型。

expressionC ?表达式1 : 表达式2 并非对所有类型的表达式1表达式2 都有效。粗略地说,它们必须可以转换为通用类型(可以在标准中阅读确切的规则和例外)。现在,如果 result 是字符串,那么您可以这样做:

std::cout << ( condition1 ? result1 : "Error" ) 
                         ^^^
          << ( condition2 ? result2 : "Error") 
                         ^^^
          << etc.

但是,例如,如果结果是整数,则不能这样做。

华泰

Depends on what type is result1, result2 etc.

expressionC ? expression1 : expression2 isn't valid for all types of expression1 and expression2. They must necessarily be convertible to a common type, roughly speaking (exact rules and exceptions can be read in the standard). Now, if results are strings, then you do it like this:

std::cout << ( condition1 ? result1 : "Error" ) 
                         ^^^
          << ( condition2 ? result2 : "Error") 
                         ^^^
          << etc.

But if results are integers, for example, you can't do it.

HTH

十六岁半 2024-11-25 19:23:16

尝试使用条件?真值:假值

Try using condition ? true-value : false-value.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文