All containers define their own iterator types, so you don't need a special header file for using iterators of containers. However, there are several definitions for special iterators, such as reverse iterators. These are introduced by the
<iterator> header file, although you don't need to include this file in your program often. It is needed by containers to define their reverse iterator types and thus it is included by them.