top
возвращает ссылку.Это эквивалентно вызову метода back
базового контейнера.Как и следовало ожидать при попытке получить ссылку на то, что не существует, результат не определен.
cppreference , при обсуждении неопределенных состояний поведения:
нет никаких ограничений на поведение программы
Другими словами, может произойти все что угодно, поэтому вам следует избегать использования top
в пустом контейнере.Всегда убедитесь, что контейнер не пустой при использовании top
.