Tag: UNDEFINED-BEHAVIOR
Esta pregunta puede ser un poco controversial. Tengo el siguiente código en un bloque de alcance: int *a = malloc(3 * sizeof(int)); if (!a) { … manejo de error … } a[0] = 0; a[1] = 1; a[2] = 2; Sostengo que este código invoca UB debido a la aritmética . . . Read more
No estoy seguro por qué # se coloca en la línea incorrecta cuando se supone que continúa después de ‘u’ # incluir # definir LEN 5 int inputNumber() { int size; printf(“Tamaño de entrada: “); scanf(“%d”,&size); printf(“===\nEl tamaño del triángulo es %d\n===\n”,size); return size; } void printTriangle(int size, char ch[]) . . . Read more
El código es el siguiente: #include <cstdint> #include <iostream> using u64 = std::uint64_t; u64 *test() { u64 *a, *p; p = (u64 *)&a; a = (u64 *)&p; { for (int i = 0; i < 100; ++i) { p = new u64((u64)p); } } while (true) { if ((u64)p == . . . Read more
Tengo este fragmento de código y me pregunto si es válido o puede causar un comportamiento indefinido: #include <list> #include <utility> void myFunction(std::list<><int, int=””>> foo) { while (foo.size()) { std::pair<int, int=””> const &bar = foo.front(); //trabajar con bar foo.pop_front(); } } Estoy usando una referencia para evitar duplicar el parámetro . . . Read more