直接上代码:
/// 用来对比两个map的key是否相同
/// \tparam Map
/// \param lhs 这是一个map
/// \param rhs 这是一个map
/// \return 返回值是一个布尔变量,用来对比两个map的key是否相同
template <typename Map>
bool key_compare (Map const &lhs, Map const &rhs) {
auto pred = [] (auto a, auto b)
{ return a.first == b.first; };
if (lhs.size() == rhs.size()) {
return std::equal(lhs.begin(), lhs.end(), rhs.begin(), pred);
} else {
return false;
}
}