我想做这样的事情:
ostream& table(ostream& os, myClass& obj, bool foo1, bool foo2) {
os << (foo1 ? obj.getFoo1() : "") << (foo2 ? obj.getFoo2() : "");
return os;
}
现在我的主要问题是,我不需要 else
语句。即使我不能在没有 else
的情况下使用三元运算符,我也需要像 ""
这样发送空格。我真的很想使用 ""
但我的 obj.getFoo
不返回任何字符串值(它返回一个整数)。对于整数,没有“空间”。
有没有办法在 cout
中获取 if-else
语句(显然没有 else
)?
最佳答案
如果你使用 to_string
就可以做到:
ostream& table(ostream& os, myClass& obj, bool foo1, bool foo2) {
os << (foo1 ? std::to_string(obj.getFoo1()) : "")
<< (foo2 ? std::to_string(obj.getFoo2()) : "");
return os;
}
关于cout 中的 C++ if-else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33766209/