【发布时间】:2011-01-08 03:43:41
【问题描述】:
我正在向 std::list 和 std::set 添加两个不同的元素,并且我希望 std::list 以与 std::set 相同的顺序排序。我尝试的一种方法是将元素添加到 std::set 时,找到该元素,然后使用 std::distance(begin, found) 获取该元素的索引,然后将该元素插入到 std::list 中的该索引。还有其他方法吗?
【问题讨论】:
-
你为什么要这样做?对于您的问题,可能有更好的整体解决方案,而不是找到一个可能来保持列表和设置同步。
-
只保留 std::set ,当您需要 std:: 列表时,您可以从 std::set 创建它。
-
std::set 包含一个“键”,而 std::list 包含一个与该键相关的值。在那种情况下,我认为使用 std::map 会更好。