3
在數據庫模板庫或其他庫中有插入迭代器,有人能告訴我它是如何工作的嗎? 謝謝!如何在C++中插入迭代器工作
在數據庫模板庫或其他庫中有插入迭代器,有人能告訴我它是如何工作的嗎? 謝謝!如何在C++中插入迭代器工作
這是一個模板類,所以你應該能夠在實現中查找它。
然而,它的想法是它將一個迭代器(當前位置)和一個引用(指針)存儲到一個容器(正在插入)。然後,它重載操作員=這樣的:
insert_iterator& operator= (typename Container::const_reference value)
{
m_iter = m_container->insert(m_iter, value);
++m_iter;
return *this;
}
所以需要支持所述插入方法和至少一個前向迭代的容器,以及具有標準的typedef(爲const_reference或也許VALUE_TYPE),因此它可以聲明的權利它的運算符的手形類型=。
其他輸出迭代器操作符(*,++)只返回* this。