问题标签 [unordered-set]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1337 浏览

c++ - C++ std::unordered_set SIGFPE 异常

我写了一个程序,我很高兴我会运行它几十次——我什至写下了多次执行的结果——现在它不起作用。

你可能会认为我这么说是高高在上,或者我可能只是改变了一些台词,但我真的不记得对程序做过任何改变。

问题是SIGFPE,根据输入,在程序的不同执行中出现。尽管std::unordered_set<Point<T> *>.

这是我进行此类插入的代码片段:

这是 valgrind 输出的一个重要部分:

这里的问题是:由于我的程序中有可能导致除以零的计算——尽管它们与此过程没有直接关系——是否有可能是错误被插入所掩盖?或者我应该在插入指针时做一些额外的处理std::unordered_set<T>

我正在编译程序x86_64 GNU/Linux,我正在使用g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3.

0 投票
1 回答
2729 浏览

c++ - 如何为来自其他库的类型专门化 std::hash

所以我使用的库有一个枚举(比如说它的名字LibEnum)。我需要一个std::unordered_setof LibEnum,但我得到编译错误,没有专门std::hash针对它的。我可以轻松编写它并返回值的数量(第一个元素是 0,第二个元素是 1 等),但是我应该把这个专业化放在哪里,它应该是什么样子?我无法修改库源。

0 投票
1 回答
451 浏览

c++ - 使用 lambda 定义哈希函数会引发异常

下面的代码定义了一个unordered_set. 代码编译得很好。但是在调用 find 时使用 lambda 函数而不是仿函数 throw:

libc++abi.dylib:终止调用抛出异常

clang++ -std=c++11 -stdlib=libc++ -o test test.cpp

0 投票
2 回答
1946 浏览

c++ - 使用 find 在 unordered_set 中查找多个值

我想使用指定的 equal_to 函数 int unordered_set 示例代码是这样的:

根据 myEqual 函数,“a”、“b”、“c”三个值“等于”“k”,但是 find 只返回一个迭代器。反正有没有找到所有相等的价值?

0 投票
1 回答
106 浏览

python - 有谁知道 Python 中集合的顺序是如何决定的?

似乎确实存在一些一致性,即调用set()字符串似乎总是解析为相同的(非字母)顺序,并且两者

和它乱七八糟的表弟

会导致看起来井井有条set([1,2,3])

另一方面,一些更活泼的东西,比如

有时会给出类似set([9, 6, 7])...

... 这里发生了什么?

0 投票
1 回答
929 浏览

unordered-set - 如何在 OCL 中获取有序集?

当我有 type 的结果时Set(Integer),数字没有排序。我们有一个可用于集合的操作,称为sortedBy ( expr : OclExpression ) : Sequence(T),但是当这个集合中只有整数时,要使用什么表达式?

0 投票
1 回答
137 浏览

c++ - C++ 获取 unordered_set *无*序列化的字节表示

在分布式计算设置中,我想将 unordered_set 发送到许多节点。我知道 C++ 中的序列化,例如使用boost::serialization. 我对序列化的不满是,在接收到序列化数据后,我面临着unordered_set在每个节点上重建数据结构的成本。

我的想法是为 unordered_set 编写一个自定义分配器,它分配固定大小的连续内存并在分配后返回起始内存地址。然后我想获取 的字节表示,通过网络unordered_set发送它,并告诉接收节点这块内存是一个unordered_set.

那行得通吗?你们有其他想法如何解决我的问题吗?或者您有任何相关的指示,例如编写这样的分配器?任何反馈表示赞赏。

谢谢!

0 投票
8 回答
53929 浏览

c++ - 如何在 C++ 中创建一组无序的整数对?

下面的程序不会编译一组无序的整数对,但它会编译整数。可以unordered_set在用户定义的类型上使用及其成员函数,我该如何定义它?

编译器错误:

错误:没有匹配函数调用“std::unordered_set >::unordered_set()”

0 投票
1 回答
3423 浏览

c++ - 智能指针和 unordered_map、unordered_set 等

我需要一个可搜索的 GUID 集合(存储为 16 个字节),其中实际的唯一 ID 是智能指针结构/类的成员。这是引用计数并由其他对象在“最后一个引用删除”的基础上指向 - 类似于std::shared_ptr. 但是由于我的智能指针类的自定义性质,我不想使用shared_ptr.

但是,我确实想使用类似std::unordered_mapstd::unordered_set(如果它们足够快)来保存指针集合。

即使智能指针地址是唯一的,因此最好用作散列,但我需要表中的可搜索键作为 GUID;这样我就可以用它find(guid)来快速定位正确的智能指针。

很难用语言解释,所以这里有一些代码:

我认为这应该可以通过像这里这样的自定义哈希/相等函数中的一些取消引用来实现,但我不确定具体如何。

0 投票
3 回答
1650 浏览

c++ - stl unordered_set 如何设置初始桶数

对于 unordered_map,我通过以下方式设置初始存储桶计数:

这种方式似乎不适用于 unordered_set。

编译器错误 = 1) 数字常量之前的预期标识符。2) 数字常量前应有 ',' 或 '...'。并继续出现一堆错误

如何为 unordered_set 做同样的事情?

谢谢你。

=================================================

如果我删除“(109)”,则没有错误