使用索引的随机访问迭代器 - 示例

时间:2013-10-05 21:37:07

标签: c++ iterator c++98

我试图澄清我在迭代器上的概念,在阅读Random Access Iterators时,书中指出这些迭代器可以与实例iterat[myIndex]的索引一起使用。现在,我已经使用随机访问迭代器和矢量,这是非常简单的:

std::vector<int>::iterator it;

for(it = vec.begin() ; it != vec.end() ; it++)
{
 std::cout << *it
}

我想知道如何使用随机访问迭代器的索引以及何时需要?任何建议将不胜感激

1 个答案:

答案 0 :(得分:3)

假设您需要查看位置的前置和后继(假设它们在那里)。你可以用

it[-1] // predecessor
it[0]  // current position same as *it
it[1]  // successor

当然,当你出现时,你也可以使用其他指数。虽然需要定义下标运算符,但我认为我不需要在算法中使用它。定位操作非常重要。