猿问

这个类的定义怎么这么独特?有什么含义?

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; }

互换的青春
浏览 70回答 1
1回答

神不在的星期二

哪里独特了?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::限定
随时随地看视频慕课网APP
我要回答