迭代器和数组

时间:2017-02-14 19:39:33

标签: c++ arrays iterator

假设我在类中有一个数组,我必须为该类编写一个成员函数,该函数根据传入的迭代器在数组中间放置一个新值。

例如:

GetIUnknownForObjectNative()

如果我被允许使用整数进行索引,那么我可以这样做:

void insert(iterator itr, int value)

有没有办法用迭代器做同样的事情?

2 个答案:

答案 0 :(得分:0)

标准c ++容器类的insert()操作意味着容器的大小将被更改,而索引运算符依赖于已经可用的索引,或者为std::set或{{创建一个新索引1}}就像容器类一样。

因此,这些操作通常无法进行比较(相同)。

  

如果我被允许使用整数进行索引

iterator 是一个抽象概念,实现可能比将其转换为用作连续数组的索引的整数值更复杂。

答案 1 :(得分:-1)

你可以将i添加到迭代器中。它们的行为就像指针一样,在question

上给出了一个更清晰的esplanation