如果it1和it2有什么区别?
std::set<sometype> s;
auto it1 = std::inserter(s, s.begin());
auto it2 = std::inserter(s, s.end());
最佳答案
在实践中,并不多。如果您将大量已经按顺序排列的元素插入到一个空的 set
中,第二个会更快一些,但仅此而已。 std::insert_iterator
用迭代器调用 insert
; std::set
将其解释为提示,如果插入紧接在提示之前,则以恒定时间(而不是 lg n)插入。 (实际上,如果 set
为空,我认为两者都会做同样的事情。)
关于c++ - 将 .begin() 与 .end() 用于 std::inserter 用于 std::set 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5909624/