【发布时间】:2009-08-26 14:32:23
【问题描述】:
过去,我使用 bind1st 和 bind2nd 函数对 STL 容器进行直接操作。我现在有一个 MyBase 类指针容器,为了简单起见,如下所示:
X 级 { 民众: std::string getName() 常量; };我想使用 for_each 调用以下静态函数,并像这样绑定第一个和第二个参数:
StaticFuncClass::doSomething(ptr->getName(), funcReturningString());
我将如何使用 for_each 并绑定此函数的两个参数?
我正在寻找类似的东西:
for_each(ctr.begin(), ctr.end(), bind2Args(StaticFuncClass::doSomething(), mem_fun(&X::getName), funcReturningString());我看到 Boost 提供了它自己的绑定函数,看起来在这里很有用,但是 STL 解决方案是什么?
提前感谢您的回复。
【问题讨论】:
-
明确一点,对于序列中的每个元素
e,你想调用StaticFuncClass::doSomething(e.getName(), funcReturningString())吗? -
是的...从技术上讲它是 e->getName() 因为容器中的元素是指针。