Accessing member variables through boost lambda placeholder
问题 I'm trying to print the second member variable of all items in an stl map using a lambda expression map<int, int> theMap; for_each(theMap.begin(), theMap.end(), cout << bind(&pair<int, int>::second, _1) << constant(" ")); but this is not compiling. I essentially want to de-reference the placeholder. Any idea what I'm missing here? Thanks in advance! 回答1: std::map will add const to its key; this is to prevent messing up the ordering. Your pair should be: std::pair<const int, int> Like