Почему deque's pop_front () и pop_back () не исключены? - PullRequest
0 голосов
/ 21 ноября 2018

Есть ли причина, по которой std::deque pop_front() и pop_back() не являются noexcept в C ++ 11 и выше или это просто забыли?

1 Ответ

0 голосов
/ 21 ноября 2018

Если я правильно понял, стандарт не определяет noexcept для функций с узким контрактом (с предварительным условием, нарушение которого приводит к UB). N3279 и совсем недавно P0884 говорят об этом и о том, как решить, должна ли функция быть noexcept или нет (или условно).

Эторегистр для std::deque pop_front и pop_back, но также для front и back, где нет вызова для деструктора.То же самое для std::vector pop_back, front и back, например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...