Iterator Creation
Each container generates its suitable iterator on request. For example an std::unordered_map
generates constant and non-constant forward iterators.
std
::
unordered_map
<
std
::
string
,
int
>::
iterator
unMapIt
=
unordMap
.
begin
();
std
::
unordered_map
<
std
::
string
,
int
>::
iterator
unMapIt
=
unordMap
.
end
();
std
::
unordered_map
<
std
::
string
,
int
>::
const_iterator
unMapIt
=
unordMap
.
cbegin
();
std
::
unordered_map
<
std
::
string
,
int
>::
const_iterator
unMapIt
=
unordMap
.
cend
();
In addition, std::map
supports the backward iterators:
std
::
map
<
std
::
string
,
int
>::
reverse_iterator
mapIt
=
map
.
rbegin
();
std
::
map
<
std
::
string
,
int
>::
reverse_iterator
mapIt
=
map
.
rend
();
std
::
map
<
std
::
string
,
int
>::
const_reverse_iterator
mapIt
=
map
.
rcbegin
();
std
::
map
<
std
::
string
,
int
>::
const_reverse_iterator
mapIt
=
map
.
rcend
();