I have long assumed that for any empty std::vector
V, V.begin() == V.end()
. Yet I see nothing in the C++ specification that states this to
23.2.1 General container requirements, specifically Table 96 Container Requirements has
a.empty()
convertible tobool
, operational semanticsa.begin() == a.end()
Then
6
begin()
returns an iterator referring to the first element in the container.end()
returns an iterator which is the past-the-end value for the container. If the container is empty, thenbegin() == end();
(emphasis mine)