Я не уверен, что не так с этим кодом:
std::vector<int> myVector(0);
if (myVector.back() == 12)
myVector.push_back(12);
Кажется, что вызов back () для пустого вектора приводит к сбою программы.
Я не понимаю, почему он падает? Нужно ли проверять длину вектора перед вызовом back()
? или возможно что это баг?
В документации сказано, что если вектор пуст, он возвращает неопределенное значение.