比较多个变量以查看它们是否都是相同值的最简单方法是什么?例如,如果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";
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不起作用.谢谢你的帮助.
And*_*owl 12
在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);
}
Run Code Online (Sandbox Code Playgroud)
你不能==
像那样连锁运营商。你需要写,例如
if (row1==row2 && row2==row3 && row3==row4 && ...)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7888 次 |
最近记录: |