我有一个代码,我使用三元运算符。我希望向量仅在c> d时执行push_back。否则,什么都不应该发生。我该如何实现呢。但我不应该使用if else条件。以下是我的代码:
int c=30,d=10;
std::vector<int> first;
(c>d) ? first.push_back(c) : "What should be here";
答案 0 :(得分:4)
vector
的{{1}}返回push_back
。如果条件运算符的最后两个操作数之一是void
类型且不是void
表达式,则两者都必须具有类型throw
。因此:
void
当然,这远不如
那么可读,实际上更冗长(c > d) ? first.push_back(c) : void();
,不应在实际代码中使用。