Como usar noexcept no operador de atribuição com idioma copy-and-swap?
O operador de atribuição de movimento deve ser muitas vezes declarado noexcept (ou seja, para armazenar o tipo em contêineres STL). Mas a linguagem copy-and-swap permite que os operadores de atribuição de cópia e movimentação sejam definidos em uma única parte do código. O que fazer com noexcept especificador neste caso? A construção da cópia pode lançar, mas duvido que possa violar o especificador noexcept.
// Is it correct considering that T copy constructor can throw?
T& operator=(T other) noexcept;