【发布时间】:2010-09-21 12:06:39
【问题描述】:
我想使用 std::for_each 将一系列字符串添加到组合框。这些对象的类型为Category,我需要对它们调用GetName。如何使用boost::bind 实现这一目标?
const std::vector<Category> &categories = /**/;
std::for_each(categories.begin(), categories.end(), boost::bind(&CComboBox::AddString, &comboBox, _1);
当前代码在尝试调用CComboBox::AddString(category) 时失败。这显然是错误的。如何使用当前语法调用CComboBox::AddString(category.GetName())?
【问题讨论】:
-
是否有必要使用
std::foreach而不是迭代? -
不是绝对必要,只是想学习boost。
标签: c++ visual-studio-2008 boost stl boost-bind