Resultados de la búsqueda a petición "undefined-behavior"
¿Se ha definido el comportamiento de un programa que tiene un comportamiento indefinido en una ruta inalcanzable? [duplicar
Esta pregunta ya tiene una respuesta aquí: ¿Puede el código que nunca se ejecutará invocar un comportamiento indefinido? [/questions/18385020/can-code-that-will-never-be-executed-invoke-u ndefined-behavior] 9 respuestasConsidera void swap(int* ...
Verificar automáticamente los límites en std :: vector [duplicado]
Esta pregunta ya tiene una respuesta aquí: Compile tiempo activado chequeo de rango para std :: vector [/questions/24246017/compile-time-triggered-range-check-for-stdvector] 2 respuestasDurante el desarrollo activo de una clase que ...
Comportamiento indefinido en el uso repetido del operador prefijo ++
Leo estoresponder [https://stackoverflow.com/a/4176333/6935629]sobre comportamiento indefinido, donde vi la siguiente declaración: ++++++i; // UB, parsed as (++(++(++i)))No creo que sea un comportamiento indefinido. Tengo una duda, ¿es realmente ...
¿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.
Es 1 << 31 bien definido en C cuando sizeof (int) == 4
Según la respuesta aestas preguntas [https://stackoverflow.com/questions/3784996/why-does-left-shift-operation-invoke-undefined-behaviour-when-the-left-side-oper] : El resultado deE1 << E2esE1desplazado a la izquierdaE2posiciones de bit; ...
¿En qué orden se evalúan las expresiones de incremento a la derecha en la instrucción de asignación? ¿Es indefinido?
Recientemente aprendí sobre el comportamiento indefinido en C, pero este código en particular se usó en un sitio como ejemplo para 'coma como operador', y aunque entiendo cómo y = x ++ en la línea 2, no entiendo en qué orden las subexpresiones en ...
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. ...
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 ? ...
indexación más allá del final de las matrices C [duplicado]
Esta pregunta ya tiene una respuesta aquí: ¿Qué tan peligroso es acceder a una matriz fuera de los límites? [/questions/15646973/how-dangerous-is-it-to-access-an-array-out-of-bounds] 10 respuestasEscribí un programa corto en C solo para ver qué ...
¿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 ...