gpt4 book ai didi

c++ - 任何调用 operator() 的 STL/boost 仿函数

转载 作者:太空狗 更新时间:2023-10-29 20:48:32 26 4
gpt4 key购买 nike

template <typename T>
struct Foo
{
void operator()(T& t) { t(); }
};

是否有类似实现的标准或 boost 仿函数?

我需要它来遍历仿函数容器:

std::for_each(beginIter, endIter, Foo<Bar>());

或者也许还有其他方法可以做到这一点?

最佳答案

像 Boosts 或 C++0x bind() 这样的绑定(bind)器使得生成这样一个仿函数变得微不足道:

std::for_each(begin, end, boost::bind(&Bar::operator(), _1));

或者使用mem_fun_ref:

std::for_each(v.begin(), v.end(), std::mem_fun_ref(&Bar::operator()));

关于c++ - 任何调用 operator() 的 STL/boost 仿函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3056853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com