【发布时间】:2012-12-05 15:13:58
【问题描述】:
我需要一个函子,它做一件非常简单的事情,基本上是这样的:
template<typename T>
struct Extract
{
T & operator()(T *t)
{
return *t;
}
};
我不想复制代码,而且我相信这样一段简单方便的代码应该已经存在于某个地方。我已经尝试寻找它,但没有成功。
【问题讨论】:
-
为什么不简单地使用'*',而不是
Extract? -
你能展示一些用例吗?
-
我认为用例与
std::plus和类似的仿函数相同。 -
@Juraj:你能用一两句话启发我们吗?
-
@Zane:
transform(input.begin(), input.end(), output.begin(), Extract());
标签: c++ pointers boost stl functor