Preguntas etiquetadas con language-lawyer

Para preguntas sobre las complejidades de las especificaciones formales o autorizadas de los lenguajes y entornos de programación.

2
Construya excepciones estándar con argumento de puntero nulo y postcondiciones imposibles
Considere el siguiente programa: #include<stdexcept> #include<iostream> int main() { try { throw std::range_error(nullptr); } catch(const std::range_error&) { std::cout << "Caught!\n"; } } GCC y Clang con libstdc ++ llaman std::terminatey cancelan el programa con el mensaje terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct null not valid Clang …


1
Creación de objeto implícito no especificado
Como P0593 se ha aceptado la creación implícita de objetos para la manipulación de objetos de bajo nivel , los objetos ahora se pueden crear implícitamente en C ++ 20. Específicamente, la redacción introducida por la propuesta permite que ciertas operaciones (como std::malloc) creen y comiencen automáticamente la vida útil …



1
inconsistencia de clang / gcc en la especialización de clase
Encontré este problema al intentar especializar tuple_size/ tuple_elementpara una clase personalizada en C ++ 17 para el enlace estructurado. El siguiente código se compila en GCC, pero no en clang (ambas versiones troncales, ver el enlace a continuación). #include <type_traits> template<typename T, typename... Ts> using sfinae_t = T; template<typename T, …









1
Cómo entender la resolución propuesta de # 1664
Después de mirar la resolución propuesta de # 1664 ( resolución propuesta 1664 ), estoy confundido por las reglas de un argumento predeterminado de una plantilla de función. Cite el contenido aquí: De acuerdo con 8.1.5 [expr.prim.lambda] párrafo 3 El tipo de cierre se declara en el ámbito de bloque …

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.