gpt4 book ai didi

c++ - 为什么在为集合执行 set_union 时需要插入函数调用?

转载 作者:太空狗 更新时间:2023-10-29 19:55:39 25 4
gpt4 key购买 nike

我需要像这样调用 STL 的 set_union 函数:

set<int> a1, a2;

set_union(a1.begin(), a1.end(), a2.begin(), a2.end(), inserter(a1, a1.begin());

而不是

set_union(a1.begin(), a1.end(), a2.begin(), a2.end(), a1.begin());

为什么会这样?

最佳答案

a1.begin() 根本不是输出迭代器。 inserter(a1,a1.begin()) 返回一个输出迭代器,它将为每个元素调用集合的插入函数。但我什至不确定第一个版本是否正确。您遍历插入新元素的同一个集合。 (!)

既然你已经处理了 set<> 对象,你为什么不简单地写

a1.insert(a2.begin(),a2.end());

?

关于c++ - 为什么在为集合执行 set_union 时需要插入函数调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542361/

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