C++向量的三元条件算子
Ternary Conditional Operator for C++ vectors
我有一个代码,其中我使用了三元运算符。我希望向量只在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";
vector
的push_back
返回void
。如果条件运算符的最后两个操作数之一的类型为void
,而不是throw
表达式,则这两个操作都必须具有void
类型。因此:
(c > d) ? first.push_back(c) : void();
当然,这比可读性差得多,而且实际上更详细
if (c > d) first.push_back(c);
并且不应该在实际代码中使用。
相关文章:
- 如何编写一个使用n倍三元条件语句的C++布尔函数
- Boost Spirit x3 条件(三元)运算符解析器
- 如何在三元条件运算符中添加换行符和连接? :在 C++ 中
- 有条件地选择带有 decltype() 和三元运算符的类型
- C++中的三元条件运算符问题
- 无法使用三元运算符有条件地分配"istream &"?
- C 三元操作员具有范围分辨率和条件
- 在C 中使用三元运算符始终返回错误条件
- 三元条件结果的方法
- 使用三元条件运算符时操作数类型不兼容
- 三元运算符条件问题
- 为什么我不能在C++的三元条件语句中使用 "break" 语句?
- std::numeric_limits<int>:has_infinity+条件三元运算符
- 表示三元条件“?:”的结果类型
- C++条件三元运算符
- 三元算子逻辑条件的评估.
- C++向量的三元条件算子
- 将递增/递减运算符放在三元/条件运算符中安全吗
- '?:'(三元/条件运算符)的结果类型是什么?
- 三元条件运算符和赋值运算符优先级