9得票4回答
使用lambda创建无序集合

如何使用lambda表达式创建unordered_set?(我知道如何使用用户定义的哈希结构和operator==来创建它) 我的当前代码是: #include <unordered_set> #include <functional> struct Point ...

9得票1回答
通过桶迭代器从std :: unordered_set中删除元素是否可行?

就像问题所说,你能否使用桶迭代器(local_iterator)从std :: unordered_set中删除元素?我可以看到两种可能的解决方案: 由于erase()仅接受全局迭代器(iterator),是否有等效的功能适用于local_iterator? 是否可以获取local_iter...

9得票4回答
std::unordered_set是否是连续的(像std::vector一样)?

我正在std::unordered_set中存储指针。我这样做是因为我不想有任何重复项(我在集合中删除指针,所以如果有重复项,我将尝试删除已经删除的指针)。我频繁地遍历这些集合,由于我知道std::vector是最快的容器(连续内存)用于循环,所以我想知道std::unordered_set是...

9得票1回答
将一个向量移入到无序集合中

我有一个 vector<T>,我想用它来初始化unordered_set<T>。之后将不再使用 vector<T>。 我一直以来都是这样做的: std::vector<T> v{ /* some large amount of data, t...

9得票2回答
如何在C++中访问unordered_set的唯一元素?

例如, unordered_set<int> s ; s.insert(100); 我如何从s中获得值100? 从http://www.cplusplus.com/reference/unordered_set/unordered_set/begin/, 请注意,uno...

8得票3回答
C#中使用无序对作为键的字典?

我试图创建一个在 C# 中以无序索引对为键的字典。 例如: exampleDictionary[new UnorderedPair(x,y)] 和 exampleDictionary[new UnorderedPair(y,x)] 应该返回相同的值。 有没有一种创建自定义无序集合的方法,...

8得票6回答
在C++中确定字符是否属于已知字符集的最快方法

给定任何字符,我如何最快地确定该字符是否属于已知字符集(而不是容器类型)。 换句话说,最快优雅的实现条件的方法是什么: char c = 'a'; if(c == ch1 || c == ch2 || c == ch3 ...) // Do something... 是否有STL容器(我想...

8得票1回答
如何在只有 const shared_ptr 的 unordered_set 中查找一个 shared_ptr?

我有一个无序集合unordered_set<shared_ptr<T>> us,我想知道针k是否在us中,但是k的类型为shared_ptr<T const>,所以unordered_set<shared_ptr<T>>::find会...

7得票3回答
描述不可变、有序集合的类

我需要一些类/接口名称来描述一个不可变的有序集合(按输入顺序排列,例如LinkedHashSet)。当然,我可以像这样使用类: class Foo { public final Set<Long> frozenOrderedSet; public Foo(Lis...

7得票1回答
clear()函数是否会影响std::unordered_set的桶计数?

有很多关于 std::vector 的答案,但是 std::unordered_set 呢? 我的真正问题(与此密切相关)是这样的;如果我预先保留一个我认为合理的大小,每次在使用之前清除同一个无序集合是否高效?