我们的教授给了我们这段代码。它根据数组中第一个索引的值为 char[] 赋值。他说这是一个 if 语句,但我从未见过这样的语句。我是 C++ 新手
temp.byte[0] = byte[0] == '0' ? '1' : '0';
最佳答案
Ternary operators对很多语言都是通用的。它大致等同于返回第一个或第二个值的 if
。在 true 情况下使用第一个值,在 false 情况下使用第二个值。记住这一点的一种方法是 condition?
是一种问题,之后的第一件事就是答案。
有一些使用它们的指南:
- 当等效的
if
会更简单时,不要使用三元。 - 不要嵌套它们。
- 除非您要将结果分配给某物,否则不要使用三元。
- 尽量避免在函数参数中使用它们。
- 不要使用否定条件,而是颠倒最后两部分的顺序。
关于c++ - if 赋值/语句在 C++ 中意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28353989/