这是什么“?”在C ++吗?
-
18-09-2019 - |
题
int qempty()
{
return (f == r ? 1 : 0);
}
在上面的代码段,这是什么 “的吗” 呢?我们能与取代它呢?
其他提示
这是一个三元运算符,它基本上如果内嵌语句
x ? y : z
就像
if(x) y else z
除,而不是语句你有表达式;所以你可以在一个更复杂的语句中使用它。
这是用于写入简洁代码是有用的,但是可以被过度使用来创建难以维持的代码。
您可以只把它改写为:
int qempty(){ return(f==r);}
作为其他的答案说哪做同样的事情。
这是条件运算符。
一个? B:C
这是一个为快捷IF / THEN / ELSE
意味着:如果为真,返回b,否则返回℃。在这种情况下,如果f == R,返回1,否则返回0。
刚一说明,如果你看到这一点:
a = x ? : y;
这是一个GNU扩展标准(见 HTTPS://gcc.gnu .ORG / onlinedocs / GCC / Conditionals.html#条件句)。
有相同
a = x ? x : y;
问号是条件运算符。该代码意味着如果f ==,则成为1返回,否则,返回0的代码可以改写为
int qempty()
{
if(f==r)
return 1;
else
return 0;
}
这可能不是做最彻底的方法,但希望可以帮助您的理解。
不隶属于 StackOverflow