在C++中,默认情况下,std::set和std::multiset都使用std::less<T>作为它们的比较器。谁能解释一下为什么std::multiset允许重复,而std::set不允许?
发布于 2015-05-20 10:43:29
这两种方法都以现有内容上的等效upper_bound开头,以便为新项找到正确的插入点。
然后,std::set检查是否找到了具有等于新键的键的现有项,如果找到,则返回失败信号。
std::multiset只是在这一点上插入新的项(如果在上面的步骤中没有返回,std::set也会这样做)。
https://stackoverflow.com/questions/30339364
复制相似问题