我正在编写一小段代码,其中必须根据 vector 元素中的值在某个位置将值插入C++ STL vector 中。我正在使用insert()
函数来完成此操作。我意识到,当我想在 vector 的末尾添加一个新元素时,我可以简单地使用push_back()
。但是为了使我的代码看起来更好,我想专门使用insert()
,它将所需的插入点和要插入的值之后指向元素的迭代器作为输入。如果作为参数传入的迭代器的值为v.end()
,其中v
是我的 vector ,则此工作原理是否与push_back()
相同?
非常感谢!
最佳答案
对于支持它的序列容器,a.push_back(x)
定义为具有与(void)a.insert(a.end(),x)
相同的语义。
参见ISO/IEC 14882:2003 23.1.1/12中的表68 [lib.sequence.reqmts]。
关于vector.push_back(x)
和vector.insert(vector.end(), x)
的运行时间,请考虑以下重点部分:
关于c++ - 使用C++ vector::insert()添加到vector的末尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5960979/