如何检查多个变量是否等于相同的值?
How can I check whether multiple variables are equal to the same value?
如何比较多个项目?例如,我希望检查所有变量A、B和C是否都等于字符"X",或者所有三个变量都等于"O"。(如果其中两个是X,一个是0,它应该返回false。)
我试着:
if (A, B, C == 'X' || A, B, C == 'O')
{
//Do whatever
}
,但它没有工作。最好的方法是什么?
if((A == 'X' || A == 'O') && A == B && B == C)
{
// Do whatever
}
只是为了多样化:
template <typename T, typename U>
bool allequal(const T &t, const U &u) {
return t == u;
}
template <typename T, typename U, typename... Others>
bool allequal(const T &t, const U &u, Others const &... args) {
return (t == u) && allequal(u, args...);
}
if (allequal(a,b,c,'X') || allequal(a,b,c,'O')) { ... }
将它们分开并逐一测试:
if (A == 'O' && B == 'O' && C == 'O' || A == 'X' && B == 'X' && C == 'X')
// etc
相关文章:
- 检查 2 棵树是否具有相同的顺序
- 检查两个节点在子节点上是否具有相同状态的更优雅的方法
- 是否保证相同内容字符串文本的存储相同?
- 如何检查数组的 3 个元素是否具有相同的值
- 编译器是否C++具有相同模板参数集的每个模板类实例生成代码?
- 比较BGR图像是否完全相同
- std::error_code 和 std::error_condition 是否由相同的值和相同的类别构造,始终是等价
- 如何检查 cin 缓冲区是否包含相同的值 0.5 秒 (C++)
- 将新放置到缓冲区后,缓冲区和实例是否具有相同的 void* 地址?
- 这是确定两个数字是否具有相同奇偶校验的正确方法
- DEVc++和Visual Studio是否有相同的库
- 迭代器是否以相同的顺序迭代 boost::unordered_set 或 boost::unordered_map 只要集合不变?
- 两个相同大小(和长度)的数组是否具有相同的元素偏移
- reinterpret_casting指针类型的整数和反向是否产生相同的值
- 如何比较两个数组以查看它们是否具有相同的内容
- 是否允许相同类型但大小不同的类型双关数组
- unordered_map存储桶中的所有元素是否具有相同的哈希值
- “substr”是否使用相同的底层内存
- int8_t、int16_t、int32_t 和 int64_t 在不同的C++编译器上是否具有相同的各自范围?
- C++两个库依赖于相同的库,但版本不同