对于以下内容:
( a != b ) ? cout<<"not equal" : cout<<"equal";
假设我不在乎它是否相等,我怎么能用cout<<"equal"
no-op 代替上述陈述.
如果它确实适用于不需要第二个操作的三元运算符,那么最好的选择是将其替换为if:
if (a!=b) cout << "not equal";
它的味道会少很多.
简单:我会将其编码为
if (a != b) cout << "not equal";
三元运算符要求两个结果属于同一类型.所以你也可以逃脱
(a != b) ? cout << "not equal" : cout;
因为流运算符(<<)只返回ostream引用.在我看来,这是丑陋和不必要的.