Resultados de la búsqueda a petición "undefined-behavior"
Uso del desinfectante de comportamiento indefinido GCC
Hoy he leidoun artículo [https://developers.redhat.com/blog/2014/10/16/gcc-u ndefined-behavior-sanitizer-ubsan/]acerca deDesinfectante de comportamiento indefinido de GCC (ubsan). Sin embargo, cuando sigo los pasos ...
¿Las variables de puntero son enteros con algunos operadores o son "simbólicas"?
EDITAR: La elección de la palabra original era confusa. El término "simbólico" es mucho mejor que el original ("místico"). En la discusión sobre mi pregunta anterior de C ++, me han dicho que los punteros son "un tipo de valor simple muy ...
¿Qué hacen Clang y GCC cuando `eliminan` clases básicas con destructores no virtuales?
Ya hayuna pregunta [https://stackoverflow.com/q/4522994/1858225]preguntando sobre el comportamiento del "mundo real" dedeletecolocando un puntero a una clase base que carece de un destructor virtual, pero la pregunta está restringida a un caso ...
C ++ error de compilación?
Tengo el siguiente código: #include <iostream> #include <complex> using namespace std; int main() { complex<int> delta; complex<int> mc[4] = {0}; for(int di = 0; di < 4; di++, delta = mc[di]) { cout << di << endl; } return 0; }Espero que muestre ...
¿Es ilegal usar los modificadores de longitud h o hh cuando el argumento correspondiente a printf no era un short / char?
losprintf La familia de funciones proporciona una serie de modificadores de longitud, dos de ellos sonhh (denotando unsigned char ounsigned char argumento promovido aint) yh (denotando unsigned short ounsigned short argumento promovido aint) ...
¿Es este comportamiento indefinido en C ++ que llama a una función desde un puntero colgante?
Aquí surgió una pregunta sobre SO preguntando "¿Por qué está funcionando esto?" Cuando un puntero se colgó. Las respuestas fueron que es UB, lo que significa que puede funcionar o no. Aprendí en un tutorial que: #include <iostream> struct Foo { ...
¿Es legal pasar un objeto C ++ a su propio constructor?
Me sorprende descubrir accidentalmente que lo siguiente funciona: #include <iostream> int main(int argc, char** argv) { struct Foo { Foo(Foo& bar) { std::cout << &bar << std::endl; } }; Foo foo(foo); // I can't believe this works... std::cout << ...
Comportamiento indefinido o: ¿Swift tiene puntos de secuencia?
En C / C ++, la segunda declaración en int i = 0; int j = i++ + i++ + ++i;invoca a ambos comportamiento no especificado, porque el orden de evaluación de los operandos no está especificado, ycomportamiento indefinido, porque los efectos ...
¿Se define el comportamiento para hacer referencia a un miembro anterior de una expresión de miembro posterior durante la inicialización agregada?
Considera lo siguiente: struct mystruct { int i; int j; }; int main(int argc, char* argv[]) { mystruct foo{45, foo.i}; std::cout << foo.i << ", " << foo.j << std::endl; return 0; } Tenga en cuenta el uso defoo.i en la lista de inicializador ...
¿Llamar explícitamente al destructor da como resultado un comportamiento indefinido aquí?
En mi opinión, el siguiente código (de alguna pregunta de C ++) debería conducir a UB, pero parece que no lo es. Aquí está el código: #include <iostream> using namespace std; class some{ public: ~some() { cout<<"some's destructor"<<endl; } }; ...