Nah*_*Nah 7 c++ generics templates struct equality
是否可以定义某种可以为结构创建通用可比运算符的模板?
例如,这样的事情可能吗?
struct A
{
int one;
int two;
int three;
};
bool AreEqual()
{
A a {1,2,3};
A b {1,2,3};
return ComparableStruct<A>(a) == ComparableStruct<A>(b);
}
Run Code Online (Sandbox Code Playgroud)
所有这些都是结构的字段比较.您可以假设所有字段都是基本类型或重载operator ==.
我有很多像这样的结构,如果我可以把它放在一个模板或者用于比较的东西而不是为每个结构定义一个运算符==,它将节省我很多时间.谢谢!
看起来这对C++来说是不可能的.我想知道为什么这个被Clas提案投票,如果有人有理由让我们知道!
对于使用基本类型的解决方案,请参阅R Sahu的解决方案.
归档时间: |
|
查看次数: |
501 次 |
最近记录: |