Iterators and Iterator Types

C++ Primer 4/e 在Iterators这里有一个术语:‘When first encountered, the nomenclature around iterators can be confusing. In part the confusion arises because the same term, iterator, is used to refer to two things. We speak generally of the concept of an iterator, and we speak specifically of a concrete iterator type defined by a container, such as vector<int>.

What’s important to understand is that there is a collection of types that serve as iterators. These types are related conceptually. We refer to a type as an iterator if it supports a certain set of actions. Those actions let us navigate among the elements of a container and let us access the value of those elements.

Each container class defines its own iterator type that can be used to access the elements in the container. That is, each container defines a type named iterator, and that type supports the actions of an (conceptual) iterator.’

中文版的是这样说:‘第一次遭遇术语iterators时可能会感到困惑。部份原因是同一个术语iterator可用来指两件事。可以指一般的iterator概念,也可以指某容器(例如vector<int>)所定义的具象iterator型别。

一件必须了解的重要事情是,有一大群型别可作为iterators使用。这些型别在概念上彼此关联。当一个型别支援某“特定动作集”时我们称它为iterator;它让我们得以寻访容器元素并存取元素值。

每个做为容器的class都定义有自己的iterator型别,可用来存取容器元素。也就是说每个容器都定意有一个名为iterator的型别,该型别支援(概念上的)iterator所能采取的动作。’

什么叫具象?我太浅了,看不懂。