【发布时间】:2010-10-22 04:06:06
【问题描述】:
int qempty()
{
return (f == r ? 1 : 0);
}
在上面的sn-p中,“?”是什么意思?意思是?我们可以用什么来代替它?
【问题讨论】:
-
当然,在这种特殊情况下,您可以将其替换为 return f==r;
-
@Eclipse:如果可以避免的话,我不会依赖隐式转换 bool->int。
-
@DanielDaranas 为什么不呢? (这是一个初学者的问题 - 对初学者的 cmets 的解释将非常有帮助和赞赏。)
-
@MichaelHoffmann 在这种情况下,隐式转换的行为是明确定义的,因此使用它是完全正确的;请参阅this answer 以获取对该标准的参考。就我个人而言,我避免使用隐式类型转换,因为我认为没有它们,代码更易读、更易于维护并且更不容易出错。我在blog post 中写了更详细的内容。
标签: c++ operators conditional-operator