【发布时间】:2015-04-02 16:31:11
【问题描述】:
我注意到std::binary_function<...> is only a struct with typedefs。在链接中,它特别说:
binary_function 没有定义
operator();预计派生类将定义这一点。
这对我来说似乎很荒谬。如果您可以继承或实例化它,而根本没有函数,那么这个类(或结构)的意义何在?还是语义与我认为的不同?
【问题讨论】:
-
这就是结构的重点,您继承它并实现调用操作符功能。这使得创建以
std::binary_function作为参数的其他函数变得容易。当然可以使用模板来完成,但是通过使用std::binary_function,您可以明确说出预期的内容。
标签: c++ function functional-programming