gpt4 book ai didi

c++ - 将 .begin() 与 .end() 用于 std::inserter 用于 std::set 之间有区别吗?

转载 作者:IT老高 更新时间:2023-10-28 12:37:32 28 4
gpt4 key购买 nike

如果it1和it2有什么区别?

std::set<sometype> s;

auto it1 = std::inserter(s, s.begin());
auto it2 = std::inserter(s, s.end());

最佳答案

在实践中,并不多。如果您将大量已经按顺序排列的元素插入到一个空的 set 中,第二个会更快一些,但仅此而已。 std::insert_iterator 用迭代器调用 insertstd::set 将其解释为提示,如果插入紧接在提示之前,则以恒定时间(而不是 lg n)插入。 (实际上,如果 set 为空,我认为两者都会做同样的事情。)

关于c++ - 将 .begin() 与 .end() 用于 std::inserter 用于 std::set 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5909624/

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