Tag: CODE-STANDARDS
POSIX requiere (creo) que los punteros a funciones puedan ser almacenados en una variable de tipo void* y/o pasados a funciones que esperen un argumento de tipo void*, aunque esto sea estrictamente no estándar. Mi pregunta es la siguiente: si pruebo una variable/argumento de este tipo para la no existencia . . . Read more
Está claro a partir de los estándares de C que NULL es una entrada aceptable para free(), y que no se realiza ninguna operación como resultado. Sin embargo, esto parece violar la idea de que free() solo debe ser llamado en memoria que fue asignada de manera explícita utilizando malloc(), . . . Read more
A continuación se encuentra un ejemplo de cppref sobre Designated initializers: struct A { int x; int y; int z; }; A b{.x = 1, .z = 2}; // ok, b.y se inicializa a 0 Por defecto, en C++, todos los tipos fundamentales se inicializan por defecto en lugar de . . . Read more
Me doy cuenta de que muchas veces en el código de la gente crearán un botón (estilizado como botón, etc., por ejemplo en una lista de tareas) y yo me pregunto por qué no están usando la etiqueta de botón, sino que nombran la clase como btn/button/etc. ¿Existe alguna razón . . . Read more
Dado este código: #include <cassert> #include <cstring> struct base{ virtual ~base() = default; }; class derived: public base{ public: int x; }; using byte = unsigned char; int main() { byte data[sizeof(derived)]; derived d; memcpy(data, &d, sizeof(derived)); base* p = static_cast<base*>(reinterpret_cast<derived*>(data)); const auto offset = (long)data – (long)p; assert(offset < . . . Read more