Resultados de la búsqueda a petición "undefined-behavior"
Está inicializando un declarador de puntero con un comportamiento indefinido de puntero no válido?
n resumen, ¿se considera que el siguiente código tiene un comportamiento indefinido? int main() { int *p = <some invalid pointer value>; }Para un ejemplo de compilación, tome el siguiente código: int main() { int *p = new int; delete p; // Now ...
Is std :: memcpy entre diferentes tipos trivialmente copiables comportamiento indefinido?
He estado usandostd::memcpy evitar aliasing estricto por mucho tiempo Por ejemplo, inspeccionar unfloat, me gustaest [https://stackoverflow.com/a/17790026/8157187]: float f = ...; uint32_t i; static_assert(sizeof(f)==sizeof(i)); ...
¿Por qué el intercambio XOR con enteros activa una advertencia?
Escribí el siguiente programa: #include <stdio.h> int main(void) { int a = 3; int b = 42; printf("a = %d\nb = %d\n", a, b); printf("Exchanging values.\n"); a ^= b ^= a ^= b; printf("a = %d\nb = %d\n", a, b); return 0; }y esta bien. Cuando ...
¿Es (--i == i ++) un comportamiento indefinido?
sta pregunta está relacionada con mi @ anteriproblem [https://stackoverflow.com/questions/5294660/explain-working-of-this-c-program]. La respuesta que obtuve fue "Es un comportamiento indefinido". Por favor, alguien explique: ¿Qué es un ...
Implementando un std :: vector como contenedor sin comportamiento indefinido
uede sorprender a algunos programadores y, por sorprendente que pueda ser, no es posible implementarstd::vector sin soporte no estándar de los compiladores. El problema reside esencialmente en la capacidad de realizar aritmética de puntero en una ...
¿Por qué no se trata de una pérdida de memoria en C ++?
ace un par de meses le pregunté aest [https://stackoverflow.com/questions/52180485/valgrind-shows-memory-leak-in-stdmake-unique] pregunta donde pregunté por qué había una pérdida de memoria. Aparentemente, olvidé un destructor virtual. Ahora ...
¿Dónde está el comportamiento indefinido cuando se usa const_cast <>?
Si lo hago const char* const_str = "Some string"; char* str = const_cast<char*>(const_str); // (1) str[0] = "P"; // (2) ¿Dónde (qué línea) es exactamente el comportamiento indefinido? He estado buscando mucho para esto en SO pero no he ...
¿Por qué un comportamiento diferente para los punteros "TYPE * const"?
l código @Below trata de unaTYPE* const puntero. struct D { void Check () { D* const p = new D; // 2nd test is "p = 0;" cout<<"p = "<<p<<endl; (D*&)p = new D; cout<<"p = "<<p<<endl; // prints 0, "p = 0;" at declaration } }; int main () { D o; ...
¿Invoca esto un comportamiento indefinido?
Considere el siguiente programa C: #include <stdio.h> int main(){ int a =-1; unsigned b=-1; if(a==b) printf("%d %d",a,b); else printf("Unequal"); return 0; }En la lineaprintf("%d %d",a,b);, "%d" se usa para imprimir un tipo sin signo. ¿Esto ...
¿Es esta recursión infinita UB?
En C ++ 11, como un bucle infinito sin efectos secundarios, el siguiente programa es UB: int main() { while (true) {} }¿Es el siguiente también UB? void foo() { foo(); } int main() { foo(); }as citas del estándar para ambos programas serían ideale