“Noexcept” vs “Throws: nothing” [fechado]
Enquanto percorre as últimas edições do C ++ 0x Rascunho de trabalho Encontrei muitas
removal da palavra-chavenoexcept
adição de texto Throws: nada No mesmo lugae vice versa. Apenas alguns exemplos:
substituição denoexcept
contra Throws: nada: 20.6.4 Segurança do ponteiro [util.dynamic.safety] template<class T> T*undeclare_reachable(T*p);
adição denoexcept
: 20.6.3.2. Funções de membro de traços de ponteiro [pointer.traits.functions]: static pointer pointer_trait<T*>::pointer_to(...) noexcept;
Perguntas aqui:
Existe uma regra / padrão geral quando encontraremosnoexcept
vs. Throws: nada no Std-Lib? Os usuários devem derivar um comportamento específico de acordo com essa regra? I.e. quandoele deve ou não deve adicionarnoexcept
às suas próprias funções?