我一直在听C++中的仿函数.有人可以给我一个关于它们是什么的概述以及在什么情况下它们会有用吗?
在Google C++样式指南中,有关运算符重载的部分建议不要重载任何运算符("在罕见的特殊情况下除外").具体来说,它建议:
特别是,不要重载
operator==或operator<只是使您的类可以用作STL容器中的键; 相反,您应该在声明容器时创建相等和比较函数类型.
我对这样的仿函数看起来有点模糊,但我的主要问题是,你为什么要为此编写自己的仿函数?不会定义operator<,并使用标准std::less<T>函数,更简单?使用一个优于另一个是否有任何优势?