Если я правильно понял, стандарт не определяет noexcept
для функций с узким контрактом (с предварительным условием, нарушение которого приводит к UB). N3279 и совсем недавно P0884 говорят об этом и о том, как решить, должна ли функция быть noexcept
или нет (или условно).
Эторегистр для std::deque
pop_front
и pop_back
, но также для front
и back
, где нет вызова для деструктора.То же самое для std::vector
pop_back
, front
и back
, например.