Я хочу вставить элементы строки vector
в строку set
в c ++.Если элемент вектора содержит '+'
, его следует добавить в один набор, иначе он должен быть добавлен в другой набор.Я могу сделать это, повторяя вектор один за другим.Но могу ли я сделать это с помощью функции 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