2016-03-21 14 views

risposta

4

L'operatore noexcept su un'espressione e ti dice se il serie di potenziali eccezioni dell'espressione è vuota. Questo kit contiene i potenziali eccezioni del distruttore, come per [except.spec]/(13.2):

Se e invoca implicitamente una o più funzioni (ad esempio un operatore di overload, una funzione di allocazione in una new- espressione, o un distruttore se e è un full-espressione (1.9)), S è l'unione di: [...] le serie di tipi nelle specifiche di eccezione di tutte le funzioni

+0

è questo in un progetto C++ 17? Non riesco a trovare il tuo passge nello standard C++ 14. – Simple

+0

@Simple: Sì, è dalla testa. Bella domanda, non so quando quest'ultimo è cambiato. –

+0

@Simple: Sembra che la formulazione sia stata aggiunta come parte della risoluzione di [CWG 1992] (http://wg21.link/cwg1992), che è stata accettata come Rapporto sui difetti durante la riunione di febbraio 2016. Essendo un difetto significa che il problema potrebbe essere risolto retroattivamente per tutte le revisioni precedenti, tuttavia, dal momento che cattura essenzialmente ciò che * dovrebbe * essere sempre stato inteso. –