index是否是一个可以返回容器中元素值的成员函数,而迭代器是一个可以访问,移动和移动容器的值?
答案 0 :(得分:1)
索引(或键)用于查找容器中的数据。最简单的情况是数组的整数索引,但像std::map
这样的容器几乎可以有任何类型的索引。
迭代器是一个表示容器中位置的类。它们可能是通过访问带有索引/键的容器获得的,例如iterator std::map::find( const Key& key )
。
迭代器和索引实际上是相切的相关概念。索引单独不允许您以任何方式访问容器的数据,您必须从容器调用函数,如下标运算符([]
)或find()
。
然而,即使您无法再访问原始容器,也可以使用*
或->
“取消引用”迭代器。有时迭代器在没有相关容器的情况下在C ++中传递。它们也可以递增和/或递减(取决于容器)。
许多人互换使用“密钥”和“索引”这两个词,包括我。根据具体情况,这可能不完全合适,但它们通常是一个等同的概念。