c++ - 如何将 vector 转换为集合?

标签 c++ vector set

我有一个 vector ,我在其中保存对象。我需要将其转换为设置。我一直在阅读关于集合的内容,但我仍有几个问题:

  • 如何正确初始化呢?老实说,有些教程说可以像 set<ObjectName> something 那样初始化它。 .其他人说你也需要一个迭代器,比如 set<Iterator, ObjectName> something .

  • 如何正确插入。再说一次,只写 something.insert(object) 就够了吗?仅此而已?

  • 如何从集合中获取一个特定的对象(例如,一个对象中有一个命名变量,等于“ben”)?

我必须将 vector 本身转换为一个集合(也就是我必须使用集合而不是 vector )。

最佳答案

假设你有一个字符串 vector ,你可以将它转换成一个集合:

std::vector<std::string> v;

std::set<std::string> s(v.begin(), v.end());

对于其他类型,您必须拥有 operator<已定义。

关于c++ - 如何将 vector 转换为集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20052674/

相关文章:

设置范围构造函数的 C++ 行为?

c++ - C++ 的 vector 或映射或 HashMap ?

c++ - std::string 不是 std::vector<char> 吗?

Scala:如果 Map 是从 GroupBy 创建的,为什么 Map 中的可变值不能更改

set - 证明伊莎贝尔中两个特定集合具有相等的基数

c++ - 来自变量的模板类型

c++ - 字符数组输出为奇怪的符号

c++ - 在 firebreath 插件上创建子可编辑文本框窗口

c++ - 从函数返回 STL 对象而不触发 move

java - Set<字符串> getSet(字符串 s)