【发布时间】:2019-03-01 02:44:33
【问题描述】:
假设我有一个 vector<int> myVec; 并且我想将它转换为一个集合,我可以有一个单衬-
set<int> mySet(myVec.begin(), myVec.end());
这很容易找到。
现在我有vector<pair<int, int>>,我想获得每对中第二个值的集合。我应该如何使用集合构造函数来实现这一点?有可能吗?
假设我有 C++11、C++14、C++17。
另外,如果我能获得一些关于如何对不同容器进行一般意义上的类似调整的信息,我将不胜感激。
【问题讨论】:
-
期待看到聪明的答案,我可能会为向量编写一个自定义迭代器,当取消引用时返回
second,尽管这不会是一个单行;)