插入要设置的矢量项
Inserting items of vector to set
我想在 c++ 中将vector
字符串的项目插入到set
字符串中。如果向量的项包含'+'
,则应将其添加到一个集合中,否则应将其添加到另一个集合中。我可以通过一个接一个地迭代向量来做到这一点。但是我可以通过"callback
"的"insert
"set
"的函数来做到这一点吗?
struct compare {
bool operator() (const std::string& str) const{
if(str.find("+") != std::string::npos) {
return false;
return true;
}
};
std::vector strlist = {"apple","+apple","banana","orange","+graphes"};
std::set<std::string,compare> set1,set2;
set1.insert(strlist.begin(),strlist.end(),compare);
我想创建一个包含项目的set1
列表,
apple,
banana,
orange
并set2
与以下项目
+apple
+graphes
您可以按如下方式使用std::partition_copy
:
std::partition_copy(strlist.begin(), strlist.end(),
std::inserter(set1, set1.end()),
std::inserter(set2, set2.end()),
[](const std::string& str) { return str.find("+") != std::string::npos; }))
相关文章:
- 无法在构造函数中执行设置元素插入
- std::为插入和排序设置不同的比较器
- 设置诊断:插入符号来自 CMakeLists.txt
- 当我添加自定义比较器时,无法插入新元素以设置
- 插入要设置的矢量项
- STD上的SEG故障::设置整数插入
- 在将结构插入设置C++时遇到问题
- 插入函数中的迭代器设置
- c++设置了保持插入顺序的数据结构
- 重载C++设置插入
- C++ 在已创建对象时设置置入与插入
- 插入对象以设置c++
- 为什么插入会使标准::设置反向迭代器无效
- c++ 设置插入编号以检查重复项
- 只是尝试插入一个节点并将指针设置为下一个节点C++
- 标准::设置:<T>:插入,重复元素
- 设置插入在以下情况下如何工作
- C++ 标准设置插入不"working"
- 设置插入进行奇怪的比较次数
- 映射和设置插入功能无法解析