比较多个变量以查看它们是否都具有相同值的最简单方法是什么?
例如,如果 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);
}