c++ - 检查是否所有变量都等于 C++ 中的相同值

标签 c++ compare

<分区>

比较多个变量以查看它们是否都具有相同值的最简单方法是什么? 例如,如果 var1 = 53 并且我想检查 var2 或 var3 是否等于 var1 和彼此? 到目前为止,我已经这样做了:

if(row1==row2==row3==row4==col1==col2==col3==col4==diag1==diag2)
    cout << "It is a magic square";
else
    cout << "Not a magic square";

但是这似乎不起作用。 感谢您的帮助。

最佳答案

在 C++11 中,您可以使用可变参数模板来定义您自己的函数:

#include <iostream>

template<typename T, typename U>
bool all_equal(T&& t, U&& u)
{
    return (t == u);
}

template<typename T, typename U, typename... Ts>
bool all_equal(T&& t, U&& u, Ts&&... args)
{
    return (t == u) && all_equal(u, std::forward<Ts>(args)...);
}

int main()
{
    int x = 42;
    int y = 42
    std::cout << all_equal(42, y, x);
}

关于c++ - 检查是否所有变量都等于 C++ 中的相同值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15208831/

相关文章:

c++ - 动态内存分配

javascript - 将嵌套对象与 JavaScript 中的数组进行比较并返回键相等

c++ - 单个可执行文件和不同的服务

c++ - 确定窗口恢复大小

git - 查看本地和远程 Git 存储库之间的确切差异/提交

c# - 在 C# 中比较二进制文件

javascript - 您何时以及为什么使用!在 JavaScript 中?

php - 比较两个表中的两列并显示结果

c++ - 使用 C++ 查找与文本匹配的行号

c++ - 访问内存中不存在的数组索引的正确异常类型?