假设我在类中有一个数组,我必须为该类编写一个成员函数,该函数根据传入的迭代器在数组中间放置一个新值。
例如:
GetIUnknownForObjectNative()
如果我被允许使用整数进行索引,那么我可以这样做:
void insert(iterator itr, int value)
有没有办法用迭代器做同样的事情?
答案 0 :(得分:0)
标准c ++容器类的insert()
操作意味着容器的大小将被更改,而索引运算符依赖于已经可用的索引,或者为std::set
或{{创建一个新索引1}}就像容器类一样。
因此,这些操作通常无法进行比较(相同)。
如果我被允许使用整数进行索引
iterator 是一个抽象概念,实现可能比将其转换为用作连续数组的索引的整数值更复杂。
答案 1 :(得分:-1)
你可以将i添加到迭代器中。它们的行为就像指针一样,在question
上给出了一个更清晰的esplanation