gpt4 book ai didi

C++ 使用 copy_if

转载 作者:行者123 更新时间:2023-11-28 01:41:03 25 4
gpt4 key购买 nike

我是 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() 上,它说 type name is not allowed?

最佳答案

你需要插入器,加上有效的谓词:

std::copy_if(people.begin(), people.end(),
std::inserter(copyedPeople, copyedPeople.end()),
[](const auto& person){ return person.getName() == name; });

我不知道你的人比较功能,但如果你使用名字,以前的答案最多会返回 1 人。和 std::multiset 可能适用于 equal_range

关于C++ 使用 copy_if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47142480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com