For
IsCode:std::vector<type> v(/*not empty*/);
always true? Is end() literally one-past-last?Code:v.begin() + v.size() == v.end()
For
IsCode:std::vector<type> v(/*not empty*/);
always true? Is end() literally one-past-last?Code:v.begin() + v.size() == v.end()
"If you tell the truth, you don't have to remember anything"
-Mark Twain
.end() is always literally one-past-last. And since vector's iterators can be added to, then v.begin() + v.size() must always equal v.end().
Even if a vector is empty it should be true, since, if it's empty:
v.begin() == v.end()
v.size() == 0
So
v.begin() + v.size() = v.begin() + 0 = v.begin() = v.end()