Являются ли std :: list :: splice () и std :: forward_list :: splice_after () объявленными как noexcept в C ++ 11? - PullRequest
0 голосов
/ 23 февраля 2019

Cppreference ничего не упоминает об исключительной гарантии std::forward_list::splice_after() и std::list::splice().

Однако, поскольку эти 2 функции изменяют только указатель узла списка и, следовательно, не требуют copy / move каких-либо элементов или выделяют какую-либо память, ИМХО, они должны быть noexcept.

Они noexcept в C++11?Если нет, то почему бы и нет?

1 Ответ

0 голосов
/ 23 февраля 2019

Все, кроме одного, имеют " Броски: Ничего".в стандарте и в том, который отсутствует, это, по-видимому, упущение.

Они не исключение, потому что они узко-контрактные.Если вы нарушите (много) предварительных условий, реализация режима отладки может захотеть выдать исключение.

...