Resultados da pesquisa a pedido "noexcept"

1 a resposta

Programa com o construtor "noexcept" aceito pelo gcc, rejeitado pelo clang

O código: struct T { T() {} }; struct S { T t; S() noexcept = default; }; int main() { // S s; }O g ++ 4.9.2 aceita isso sem erros ou avisos, no entanto, o clang 3.6 e 3.7 reportam para a linha 7: error: exception specification of explicitly ...

3 a resposta

C ++, exceto para uma função que não gera exceções, mas pode causar uma falha na memória

Por exemplo, é bastante comum haver duas maneiras distintas de acessar elementos de uma matriz privada, sobrecarregando o operador de assinatura de matriz ou definindoat: T& operator[](size_t i) { return v[i]; } T const& operator[](size_t i) ...

1 a resposta

Aplicar "noexcept" na função std ::?

Esse código compila e executa, lançando oint: #include <functional> void r( std::function<void() noexcept> f ) { f(); } void foo() { throw 1; } int main() { r(foo); }No entanto, eu gostaria que o compilador rejeitasse a linhar(foo); Porquer só ...

4 a resposta

Determinar se um construtor de uma classe base abstrata não é exceção?

No C ++ 11 e posterior, como determinar se um construtor de uma classe base abstrata énoexcept? Os seguintes métodos não funcionam: #include <new> #include <type_traits> #include <utility> struct Base { Base() noexcept; virtual int f() = 0; }; ...

1 a resposta

Podemos nos referir a variáveis-membro em uma especificação noexcept?

Considere o seguinte snippet de código: template<class Tuple> class vector { public: typename Tuple::size_type size() const noexcept(noexcept(m_elements.size())) { return m_elements.size(); } private: Tuple m_elements; }; class tuple { public: ...

1 a resposta

Isso é permitido dentro de uma especificação noexcep

Tenho algum código que exija que eu use*this, mas quero que não seja amigável: struct foo; // Would actually be something with conditional noexcept void do_something(foo&); struct foo { void fn() noexcept(noexcept(::do_something(*this))) { ...

1 a resposta

“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: ...

4 a resposta

Como eu escrevo um tipo de retorno à direita habilitado para ADL ou nenhuma especificação excet

Imagine Estou escrevendo algum modelo de contêiner ou algo assim. E chega a hora de se especializarstd::swap por isso. Como bom cidadão, habilitarei a ADL fazendo algo assim: template <typename T> void swap(my_template<T>& x, my_template<T>& y) ...