如何为我的自定义矢量类实现vector.insert方法?

时间:2017-01-30 16:58:59

标签: c++ class vector stl insert

我已经创建了一个自定义类来实现std :: vector 我的类有前向迭代器支持。我想知道如何实现vector.insert方法,允许我在向量内的任何位置插入一个元素。
我不能使用allocator,但是我想知道插入方法是否可以用迭代器完成,如果可能的话,怎么办呢?

1 个答案:

答案 0 :(得分:0)

要实现insert,您需要移动/复制插入点后面的所有元素一个元素(如果内部存储空间不够大,可能会分配新内存并移动所有成员),然后将新元素插入"孔"你刚才做的。

请注意,这(当然)会使现有的迭代器失效。