C ++向量的三元条件运算符

时间:2014-09-14 10:04:50

标签: c++

我有一个代码,我使用三元运算符。我希望向量仅在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";

1 个答案:

答案 0 :(得分:4)

vector的{​​{1}}返回push_back。如果条件运算符的最后两个操作数之一是void类型且不是void表达式,则两者都必须具有类型throw。因此:

void

当然,这远不如

那么可读,实际上更冗长
(c > d) ? first.push_back(c) : void();

,不应在实际代码中使用。