我有一个 foo 类型的 std::unique_ptr 映射,我正在尝试迭代映射,将每个映射的值传递给不在映射中的 foo 的公共成员。我很接近,但我无法弄清楚如何将最内层绑定的结果从对指针的引用转变。
鉴于:
class foo
{
public:
bool DoWork(foo *);
};
std::map<long, std::unique_ptr<foo> map_t;
map_t foo_map_;
foo bar_;
std::for_each(std::begin(foo_map_), std::end(foo_map_), std::bind(&Foo::DoWork, &bar_, std::bind(&std::unique_ptr<foo>::get, /* This guy here -->*/std::bind(&std::pair<long, std::unique_ptr<foo>>::second, std::placeholders::_1))));
建议?我正在使用 Visual Studio 2010 SP1。