gpt4 book ai didi

c++ - 使用 set_intersection 的正确方法

转载 作者:行者123 更新时间:2023-11-28 07:42:12 26 4
gpt4 key购买 nike

struct Cord
{
int x_cord;
int y_cord;
Cord(int x = 0,int y = 0):x_cord(x),y_cord(y) {}
bool operator < (const Cord& cord) const
{
if (x_cord == cord.x_cord)
{
return y_cord < cord.y_cord;
}
return x_cord < cord.x_cord;
}
bool operator == (const Cord& cord) const
{
return x_cord == cord.x_cord && y_cord == cord.y_cord;
}
};
std::set<Cord> cordRes,cordTmp;//initialized before
std::set<Cord> cordItersect;
std::set_intersection(cordRes.begin(),cordRes.end(),cordTmp.begin(),cordTmp.end(),cordRes.begin(),cordItersect.begin());

以上代码编译失败,请问示例中如何正确使用set_intersection?谢谢

最佳答案

一个问题是 set_intersection 只需要五个参数。另一个问题是您需要某种机制来创建要插入到 cordItersect 的元素。在您的情况下,将使用 std::inserter。

std::set_intersection(cordRes.begin(), cordRes.end(),
cordTmp.begin(), cordTmp.end(),
std::inserter(cordItersect, cordItersect.end()));

关于c++ - 使用 set_intersection 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15591807/

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