问题标签 [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++ - 比较两组 std::weak_ptr
weak_ptr
我正在尝试使用 GCC 4.7.2比较两组 C++11 。下面的代码显示了重现错误的最小可能样本:
尝试编译上述结果会导致一长串错误,其中以下是第一个实际错误:
由于 的瞬态特性weak_ptr
,是否无法比较整组它们?
更新:
一个建议是使用:
这导致:
c++ - 是否有 O(1) 方法来转换 std::map进入 std::set
我想对 std::map<> 实例的键进行一些设置交集操作,而无需事先将键复制到 std::set<> 中。
它没有记录在 API 中,但是有什么方法可以在 O(1) 时间内从 std::map<> 中提取密钥并将它们放入 std::set<> 中?
c++ - find_if in set in C++:未解析的重载函数类型
我之前在 C++ 中将 find_if 与列表和向量一起使用过,它运行良好。但是现在,当我尝试将它与集合一起使用时,我收到以下错误:
我的班级如下:
谁能帮我理解问题出在哪里?
c++ - 如何优雅地将所有枚举放入 std::set
我有一个枚举,我想把它们都放在集合中(然后用 set_intersection 算法删除一些,但那是题外话)。一切都很好,除了我坚持第 1 步。:)
如果我有(真正的班级有更高基数的枚举)
我将如何初始化 astd::set<MyClass::Color>
以包含所有枚举。
我显然可以一个一个地手动插入它们,使用强制转换进行 for 循环,因为它们是连续的并且从 0 开始(如果我在枚举定义中不使用 =,我认为这是必需的),但我正在寻找一种更优雅的方式。
编辑:如果可能,我更喜欢 C++03 解决方案,因为当前的问题实例需要它,但如果不是,C++11 也很高兴知道。
c++ - std::map 插入而不创建临时值
我有一个存储、字符串和一组双打的地图,如下所示。
我需要一种为给定键插入价格的方法,并编写了以下代码。
我想知道,有没有办法特别改进第一部分,它创建了一个临时集。
c++ - 如何在 C++ 中创建具有非标准顺序的整数集?
在 C++03 中,我想创建一个 std::set 迭代时,一个整数首先出现,之后,我不在乎什么顺序,但我需要一个顺序来确保没有重复放。例如,如果我有一组年份,并且在迭代时我希望在所有其他年份之前处理 2010 年。
基本上,我需要提供一个比较器,在运行时已知的某个年份(例如 2010 年)与所有其他年份相比要少,但剩余年份是有序的,但没有任何必要的顺序,只是为了确保没有重复放。
c++ - 为什么 std::remove 不适用于 std::set?
以下代码:
不使用 gcc 4.7.2 编译:
所以我去了定义,fset::iterator
我在 gcc 的实现中找到了这个(文件../c++/4.7/bits/stl_set.h
,来自 125):
为什么两个定义都是不变的?为什么我的(非常简单的)代码不起作用?
c++ - std::set 与向量或映射的优势
这可能是一个愚蠢的问题,我对 C++ 和一般编程很陌生。我想了解几个 STL 容器的使用,考虑到这一点,我想知道使用 std::set 与例如使用向量或映射相比有什么优势?我似乎找不到这个问题的明确答案。我注意到集合使用地图,但为什么不总是使用地图或总是使用集合。相反,提供了 2 个非常相似的容器。提前致谢。
c++ - C++ std::set 自定义比较器
好吧,我的问题是我正在使用带有自定义比较器的 std::set,例如:
所以,我像这样使用它
现在我的问题是我想这样做:
但是,当然,它除了 A* 而不是 short int。
所以,我知道我可以使用 std::find_if,但它不会使自定义比较器变得无用吗?它会迭代整个列表,不是吗?有什么方法可以将 find 与 hashCode 而不是对象本身一起使用?
谢谢!
c++ - 如何在 C++ 中一般地迭代集合?
简而言之,如果我有一个集合和向量,我如何创建一个可以将两者都作为参数处理的通用方法。
我想做的就是遍历任何一种类型的集合。听起来应该是微不足道的,但我错过了一些东西。
在 C# 中,我会传递 IEnumerable 或类似的东西。然后我可以遍历集合。
任何解释答案的一般性阅读将不胜感激。