C++ using copy_if
C++ using copy_if
我是C++新手,正在尝试使用copy_if
函数:
set<Person> people; // contains people objects
set<Person> copyedPeople;
string name = "joe"; // Multiple people with that name
copy_if(people.begin(), people.end(), copyedPeople, Person.getName() == name);
问题出在Person.getName()
,它说不允许类型名称?
您需要插入器,加上有效的谓词:
std::copy_if(people.begin(), people.end(),
std::inserter(copyedPeople, copyedPeople.end()),
[](const auto& person){ return person.getName() == name; });
我不知道你的比较函数,但是如果你使用这个名字,以前的答案最多会返回1个人。 std::multiset
可能适合equal_range
.
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 如何将enable-if与模板参数和参数包一起使用
- 无论条件是否为true,if总是在c++中执行
- Arduino:for/while/if在void setup()或void loop()之前?——错误:之前需要不合格
- std::filesystem::copy throws filesystem_error
- Insert函数不适用于2 if语句C++
- If语句未被求值C++
- C++嵌套if语句,基本货币交换
- 多个If语句与使用逻辑运算符计算条件的单个语句的比较
- 是否可以使用if constexpr删除控制流语句
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 如何删除peer if else分支中的冗长句子
- 我似乎对if/else的基本语句有问题:/
- if数组上的随机数
- 将按位if条件转换为普通if条件
- If语句在c++中被忽略
- 比较if语句中的数组值和int值
- 使用if-else将数字转换为单词
- 为什么简单的算术减法在"if"条件下不起作用?
- 以在Qt中的IF语句中设置时间延迟