Resultados de la búsqueda a petición "noexcept"

1 la respuesta

¿Está `esto` permitido dentro de una especificación de excepción?

Tengo un código que requiere que use*this, pero quiero que no sea menos amigable: struct foo; // Would actually be something with conditional noexcept void do_something(foo&); struct foo { void fn() noexcept(noexcept(::do_something(*this))) { ...

4 la respuesta

¿Puede una función noexcept seguir llamando a una función que arroja C ++ 17?

EnP0012R1 [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0012r1.html] "Hacer que las especificaciones de excepción sean parte del sistema de tipos", veo quenoexcept ahora se está convirtiendo en parte del tipo de función. No puedo ...

1 la respuesta

¿Hay algún punto en declarar una función eliminada como noexcept?

Considere estas dos posibles definiciones para una clase: Anexo A: struct A { A() = delete; };Prueba A ′: struct A { A() noexcept = delete; }¿Hay algún punto en declarar una función eliminada comonoexcept?

1 la respuesta

¿Podemos referirnos a las variables miembro en una especificación noexcept?

Considere el siguiente fragmento 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 { ...

4 la respuesta

Determinar si un constructor de una clase base abstracta no es excepto?

En C ++ 11 y versiones posteriores, cómo determinar si un constructor de una clase base abstracta esnoexcept? Los siguientes métodos no funcionan: #include <new> #include <type_traits> #include <utility> struct Base { Base() noexcept; virtual ...

1 la respuesta

Hacer cumplir "noexcept" en std :: function?

Este código se compila y se ejecuta, arrojando elint: #include <functional> void r( std::function<void() noexcept> f ) { f(); } void foo() { throw 1; } int main() { r(foo); }Sin embargo, me gustaría que el compilador rechazara la línear(foo); ...

3 la respuesta

C ++ no excepto para una función que no arroja excepciones, pero puede causar una falla de memoria

Por ejemplo, es bastante común tener dos formas separadas de acceder a elementos de una matriz privada, sobrecargar el operador de suscripción de la matriz o definirat: T& operator[](size_t i) { return v[i]; } T const& operator[](size_t i) const ...

1 la respuesta

Programa con constructor "noexcept" aceptado por gcc, rechazado por clang

El código: struct T { T() {} }; struct S { T t; S() noexcept = default; }; int main() { // S s; }g ++ 4.9.2 acepta esto sin errores ni advertencias, sin embargo, clang 3.6 y 3.7 informan para la línea 7: error: exception specification of ...

2 la respuesta

¿Para qué sirve noexcept?

Vi esoC ++ 11agregó elnoexcept palabra clave. Pero realmente no entiendo por qué es útil. Si la función se lanza cuando se supone que no debe hacerlo, ¿por qué querría que el programa se bloquee? Entonces, ¿cuándo debo usarlo? Además, ¿cómo ...

2 la respuesta

¿El estándar C ++ exige que las funciones de enlace C sean `noexcept`?

No puedo encontrar nada en el estándar que fuerce las funciones declaradas conextern "C" sernoexcept, ya sea implícita o explícitamente. Sin embargo, debe quedar claro que las convenciones de llamadas C no pueden admitir excepciones ... ¿o ...