有条件地赋值的较短方法

时间:2016-08-27 14:55:04

标签: c++

我真的不知道这个术语,也不知道我可以搜索哪些关键词,但有没有一种方法可以优化(有点简化),基本上这个代码?

//int y (1 or 2)
int x = 1;
if(y == 2) x = 2;

我记得看到bool的东西但不记得它是什么,但它用的是“?” (代码中的问号,以检查是否有什么东西) 如果没有额外的代码行,我怎么能缩短它?

//bool y (true or false)
bool x = true;
if(y) x = false;

1 个答案:

答案 0 :(得分:4)

你的意思应该是三元运算符

三元运算符的格式为:condition ? if_true : if_false。你可以像这样申请:

int x = (y == 2 ? 2 : 1);

bool x = (y ? false : true);

对于后一个代码,它可以只是

bool x = !y;