Resultados de la búsqueda a petición "language-lawyer"
¿Cuál fue la razón del diseño para hacer que el vacío no sea un tipo primitivo?
Cuando se usa la reflexiónType.IsPrimitive en unvoid tipo devuelve falso. Viniendo de un fondo de C ++ esto fue sorprendente. Mirando a laEspecificaciones de C # ...
¿Dónde dice exactamente el estándar C ++ que desreferenciar un puntero no inicializado es un comportamiento indefinido?
Hasta ahora no puedo encontrar cómo deducir que lo siguiente: int* ptr; *ptr = 0;Es un comportamiento indefinido. En primer lugar, hay 5.3.1 / 1 que establece que* significa indirección que convierteT* aT. Pero esto no dice nada sobre ...
Línea misteriosa en traza de pila
Mientrasinvestigando una discrepancia de seguimiento de pila [https://stackoverflow.com/questions/42462750/why-java-enum-need-to-check-class-and-declaringclass-in-compareto-method/42462851?noredirect=1#comment72068430_42462851] Al redactar otra ...
Constructor con argumentos de plantilla sin tipo
Enesta pregunta [https://stackoverflow.com/questions/3960849/c-template-constructor]se dice que es imposible usar directamente argumentos de plantilla para el constructor de clases, porque si escribes algo como struct S{ template<typename T> S() ...
El comportamiento de la división de coma flotante por cero
Considerar #include <iostream> int main() { double a = 1.0 / 0; double b = -1.0 / 0; double c = 0.0 / 0; std::cout << a << b << c; // to stop compilers from optimising out the code. }Siempre he pensado quea será + Inf,b será -Inf, yc será NaN. ...
¿Se puede obtener un puntero a un elemento de representación de objeto completo de un puntero a un subojeto?
Consideremos este código: int i; int is[10]{}; unsigned char * p = reinterpret_cast<unsigned char*>(&i); //p defined to point to the object-representation of the first element of array ints unsigned char * ps = reinterpret_cast<unsigned ...
¿Se permite un vector con tipo incompleto si no se llama absolutamente a ninguna función miembro? Si es así, ¿desde cuándo?
Supongamos que tengo algún tipo incompleto // in foo.hh struct Hidden;que quiero usar como tipo de elemento de unstd::vector. Usando ununion Puedo "diferir" las llamadas a los constructores y al destructor destd::vector a la implementación de ...
¿Pueden los parámetros de plantilla que no son de tipo en c ++ 17 ser decltype (auto)?
Descubrí que gcc y clang permiten usardecltype(auto) en la cláusula de tipo de parámetro de plantilla no tipo P.ej.: template <decltype(auto)> struct X {}; int foo ; int main() { X<(foo)> x; static_cast<void>(x); }[live demo ...
Comportamiento diferente entre conversión explícita, inicialización directa e inicialización de copia
Tengo una claseC que tiene un operador de casting para cualquier cosa. En el ejemplo intenté enviar una instancia destd::string de tres maneras diferentes:static_cast, constructor destd::string y asignando astd::string. Sin embargo, solo el ...
Alias de matrices multidimensionales
Es bien sabido que una matriz 2D es una matriz de matrices, y que el estándar requiere que seaun conjunto de objetos no vacíos asignados de forma contigua (6.2.5 Tipos §20): el objeto es una matriz 1D aquí. También es bien sabido que para todas ...