Resultados de la búsqueda a petición "undefined-behavior"
¿Cuál es el comportamiento de escribir un carácter que no se imprime en C / C ++?
¿Es el comportamiento de escribir un carácter no imprimible indefinido o definido por la implementación, si el carácter se escribe a través deprintf/fprintf? Estoy confundido porque las palabras en el estándar C N1570 / 5.2.2 solo hablan de la ...
¿El desbordamiento de enteros no está definido en el ensamblaje en línea x86?
Digamos que tengo el siguiente código C: int32_t foo(int32_t x) { return x + 1; }Este es un comportamiento indefinido cuandox == INT_MAX. Ahora digamos que realicé la adición con el ensamblaje en línea en su lugar: int32_t foo(int32_t x) { ...
¿Qué significa la [Nota] en el párrafo de comportamiento indefinido en el estándar C ++?
Comousuario Tony [https://stackoverflow.com/users/410767/tony] Señala [https://stackoverflow.com/questions/4265167/is-a-c-compiler-allowed-to-emit-random-code-once-it-encounters-a-construct-that/4272482#4272482] hay una [Nota] en el párrafo ...
Detectar referencias colgantes a temporales
Clang 3.9 reutiliza extremadamente la memoria utilizada por los temporales. Este código es UB (código simplificado): template <class T> class my_optional { public: bool has{ false }; T value; const T& get_or_default(const T& def) { return has ? ...
¿Este código en C cae en la categoría Comportamiento indefinido?
a es una matrizfoo es una función yi es unint. a[++i] = foo(a[i-1], a[i]);¿El código anterior tiene unComportamiento indefinido? Los índices de la matriz++i, i-1 yi, están garantizados para estar en el rango de la matriz.
¿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 ...
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. ...
Diferencia entre comportamiento indefinido y mal formado, no se requiere mensaje de diagnóstico
El estándar C ++ viene con una sorprendente cantidad de definiciones parapoco claro1 comportamiento que significa más o menos lo mismo con diferencias sutiles. Leyendoesta respuesta [https://stackoverflow.com/a/22177425/572743], Noté la ...
Evaluar la condición que contiene el puntero unitario - UB, pero ¿puede bloquearse?
En algún lugar de los foros encontré esto: Any attempt to evaluate an uninitialized pointer variable invokes undefined behavior. For example: int *ptr; /* uninitialized */ if (ptr == NULL) ...; /* undefined behavior */¿Qué se quiere decir aquí? ...
Orden de evaluación de argumentos en la función de llamada?
Estoy estudiando sobre el comportamiento indefinido en C y llegué a una declaración que dice que no hay un orden particular de evaluación de argumentos de función pero ¿qué pasa con las convenciones de llamadas estándar como_cdecl ...