【发布时间】:2013-02-27 21:06:14
【问题描述】:
我一直认为标准要求std::equal_to<T> 的非专业模板调用T::operator==,但我注意到description at cppreference.com 几乎暗示它是相反的;当然,它没有将其作为要求提及。我还检查了 C++11 草案标准 N3337,也找不到任何保证。
如果您使用operator== 创建一个类,您希望它可以在所有情况下使用。
老实说,我想不出一种实现std::equal_to 的方法,但这种方法不会起作用,但我错过了什么吗?
【问题讨论】:
-
std::less在指针的情况下与operator<的行为不同。 -
cppreference.com上的描述很清楚...
-
页面描述有问题。描述可以改进为:为类型 T 实现一个调用 operator== 的函子(缺少的 a 函子是混乱的根源)
-
@AlexChamberlain:我不太同意你的说法......这句话 Implements operator== on type T 有点误导
-
@MarkRansom 这是一个维基;那是我的第一次编辑。
标签: c++ std comparison-operators