I have no better way to say this except:
because this is the definition of this data structure ... you need another operation, for example, push_back use a different data structure.
== EDIT == I will try to refine a bit:
It is true that if you have an iterator for the last push_back element, this is O (1).
BUT saving the iterator to the last element may have overhead in other operations such as erase .
source share