class map_finder { public: map_finder(const std::string &cmp_string):m_s_cmp_string(cmp_string){} bool operator ()(const std::map::value_type &pair) { return pair.second == m_s_cmp_string; } private: const std::string &m_s_cmp_string; }; 尤其是这一小段: map_finder(const std::string &cmp_string):m_s_cmp_string(cmp_string){} bool operator ()(const std::map::value_type &pair) { return pair.second == m_s_cmp_string; }
1 回答
神不在的星期二
TA贡献1963条经验 获得超6个赞
哪里独特了?
string类型在std命名空间中定义,如果没有using namespace std就要用std::来限定作用域。
同理map也是一样。
map中的元素是pair类型,pair有2个成员,first和second,前者是map::key_type类型,后者是map::value_type类型。
key_type和value_type是定义在map中的,所以要用map::限定
- 1 回答
- 0 关注
- 69 浏览
添加回答
举报
0/150
提交
取消