Эффективный способ - переместить последний элемент вектора в начало и затем удалить последний элемент.
cpp
Этот подход имеет сложность O(1), в отличие от O(n), которое было бы при использовании vec.erase(vec.begin()).
vec.erase(vec.begin())