是否有一个函数与map::lower_bound
做同样的事情,除了它返回一个新的子映射而不是迭代器?
编辑:该函数应返回一个子地图,其中包含键等于或大于的所有值,而不是某个值(给定作为函数的输入。)
答案 0 :(得分:6)
这样的东西?
// Beware, brain-compiled code ahead!
template< typename K, typename V >
std::map<K,V> equal_or_greater(const std::map<K,V>& original, const K& k)
{
return std::map<K,V>( original.lower_bound(k), original.end() );
}
编辑: 您似乎确实需要upper_bound()
而不是lower_bound()
。