我想使用std :: for_each將一系列字符串添加到組合框。對象的類型爲Category
,我需要在其上調用GetName
。我如何用boost::bind
實現這個目標?如何使用std :: for_each和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'而不是迭代的嚴格必要性? – baton 2010-09-21 12:19:51
不是一個嚴格的必要條件,只是試圖學習提升。 – 2010-09-21 12:59:35