Each container defines several types, shown in Table 9.2 (p. 330). We have already used three of these container-defined types:
size_type (§ 3.2.2, p. 88),
const_iterator (§ 3.4.1, p. 108).
In addition to the iterator types we’ve already used, most containers provide reverse iterators. Briefly, a reverse iterator is an iterator that goes backward through a container and inverts the meaning of the iterator operations. For example, saying
++ on a reverse iterator yields the previous element. We’ll have more to say about reverse iterators in § 10.4.3 (p. 407).
The remaining type aliases let us use the type of the elements stored in a container without knowing what that type is. If we need the element type, ...