相关疑难解决方法(0)

习惯使用std :: rel_ops

使用std::rel_ops将完整的关系运算符集添加到类的首选方法是什么?

文档建议一个using namespace std::rel_ops,但是这似乎是有严重缺陷的,因为这将意味着包括以这种方式实现的类的头也将增加全关系运算符所有其他类与定义operator<operator==,即使是不希望的.这有可能以令人惊讶的方式改变代码的含义.

作为旁注 - 我一直在使用Boost.Operators来做这件事,但我仍然对标准库感到好奇.

c++ idioms c++-standard-library

47
推荐指数
2
解决办法
4313
查看次数

我需要手动声明> =和<=运算符吗?

如果我已经有operator>operator < defined(和operator ==),我是否需要定义operator> =operator <=,或者如果我故意不声明它们,编译器是否会为它声明它们?

另外,如果我有operator == defined,编译器会为我声明operator!=吗?

c++ operator-overloading operators

6
推荐指数
2
解决办法
214
查看次数