问题标签 [stdset]
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.
c++ - c++ STL设置差异
C++ STL 集合数据结构有集合差分运算符吗?
c++ - C++ std::set 比较器
这是代码:
这就是问题所在:
调试断言失败!
文件:..\VC\include\xtree
行:638表达式:无效的运算符<
之后,我可以选择“中止”、“重试”或“忽略”。如果我选择忽略更多(相同的)出现,但它最终会完美运行。
当我将带有 ->Amount == 的 Reputation 插入到之前插入的 Reputation * 之一时,似乎会出现问题,但我不确定最后一个。
任何帮助将不胜感激
编辑:我希望它们的顺序首先是按升序排列的正序,然后是按降序排列的负序。示例:1 5 10 11 11 20 50 -1 -5 -50
c++ - 如何在 std::set 中找到最大的 int?
我有一个std::set<int>
,找到这个集合中最大的 int 的正确方法是什么?
c++ - C++ std::set 线程安全吗?
我对 std::set 的线程安全有疑问。
据我所知,我可以迭代一个集合并添加/删除成员,这不会使迭代器无效。
但考虑以下情况:
- 线程“A”迭代一组 shared_ptr<Type>
- 线程“B”偶尔会向这个集合添加项目。
我在程序运行时遇到了段错误,我不确定为什么会发生这种情况。缺乏线程安全是原因吗?
c++ - std::set::erase 上的访问冲突读取位置
我最近在我的应用程序中发现了以下崩溃:
m_players
声明为:
Visual Studio 显示为“0xC0000005:访问冲突写入位置 0x0000000000000024”。
编译器:Visual Studio 2008。
拆卸:000000014007AA3B mov rcx,qword ptr [this](崩溃)
所以我假设我们因为糟糕的“this”而死去,因为它是在那个函数中第一次访问这个。但是因为我看了本地人/汽车,这似乎不是一个坏指针。
很高兴得到一个提示。
c++ - 如何在 C++ 中获取集合中的元素?
我对如何获取集合中的元素感到困惑。我想我必须使用迭代器,但我该如何逐步完成它?
c++ - 如何从集合中删除所有偶数在 C++ 中
我是 C++ 新手。我想知道有经验的编码员是如何做到这一点的。
我有的:
当然,它不起作用。因为它在擦除后递增。这是否意味着每次我从集合中删除元素后,Itr 都必须指向集合的开头?
c++ - std::set.find() 返回的迭代器能存活多久?
我需要通过保存 set.find() 返回的迭代器来跟踪 std::set 元素。
我的问题是插入和删除其他元素是否会使获得的迭代器无效?从我做的一个简单测试中我可以看出它不是,但我想确保这个功能是设计使然。
c++ - 在 C++ 中使用集合
如何在 C++ 中定义集合并将值插入其中?
c++ - 限制 std::set 的大小
我有一个关于 std::set 容器的简短问题。现在我正在使用推回功能喂我的套装。当然,每个 push_back 的集合都会变得越来越大。我只对最新的30个左右的元素感兴趣...较旧的元素可以删除。所以我的想法是将集合的大小限制为 30 个左右的元素,并通过这样做摆脱不需要的旧元素。但是,该集合默认不支持限制。我可以不时检查集合的大小并手动删除多余的元素。有没有更聪明的方法?
问候隆皮