我正在编写一小段代码,其中必须根据 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]。

c++ - 使用C++ vector::insert()添加到vector的末尾-LMLPHP

关于vector.push_back(x)vector.insert(vector.end(), x)的运行时间,请考虑以下重点部分:

关于c++ - 使用C++ vector::insert()添加到vector的末尾,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5960979/

10-09 07:13
查看更多