Articles of struct

utilizando la palabra clave struct en la statement de variables en C ++

Tengo la sensación de que esto puede estar relacionado con la syntax C, pero comencé mi vida de progtwigción con C ++, así que no estoy seguro. Básicamente, he visto esto: struct tm t; memset( &t, 0, sizeof(struct tm) ); Estoy un poco confundido con esta syntax, ya que normalmente esperaría que lo anterior se […]

Swift construye NSData y vuelve

Tengo una estructura que contiene una estructura y un NSObject que quiero serializar en un objeto NSData : struct Packet { var name: String var index: Int var numberOfPackets: Int var data: NSData } var thePacket = Packet(name: name, index: i, numberOfPackets: numberOfPackets, data: packetData) ¿Cómo puedo serializar mejor el paquete en un NSData y […]

¿Por qué “typdef struct {struct S * s; } S; “que contiene un puntero al mismo tipo de comstackción?

Estoy tratando de typedef una struct que contiene un puntero a otro del mismo tipo. Esa es la que pensé que sería la mejor versión: typedef struct Element { char value; struct Element *next; } Element; ¿Por qué esa variante también comstack + ejecuta ?: typedef struct { char value; struct Element *next; } Element; […]

Implementar automáticamente rasgos de tipo cerrado para los tipos nuevos de rust (estructuras de tupla con un campo)

En Rust, las estructuras de tupla con un solo campo se pueden crear de la siguiente manera: struct Centimeters(i32); Quiero hacer aritmética básica con Centimeters sin extraer sus valores “internos” cada vez con coincidencia de patrones, y sin implementar los operadores Add , Sub , … rasgos y sobrecarga. Lo que quiero hacer es: let […]

¿El __ atributo __ (__ paquete__) de GCC) conserva el orden original?

Propósito Estoy escribiendo un progtwig de red en C (específicamente gnu89 ) y me gustaría simplificar las cosas reinterpretando una cierta struct X como una gran matriz de bytes (aka char ), enviando los bytes a través de la red y reinterpretándolos como struct X en el otro lado. Para este fin, he decidido usar […]

memcpy vs asignación en C

¿Bajo qué circunstancias debería esperar que los memcpys superen las asignaciones en el hardware INTEL / AMD moderno? Estoy usando GCC 4.2.x en una plataforma Intel de 32 bits (pero también estoy interesado en 64 bits).

¿Cómo se asigna la estructura del resultado del tiempo local en C?

Estaba jugando con el archivo time.h en C que nos ayuda con las funciones de tiempo / día. Me encontré con: struct tm * _Cdecl localtime(const time_t *__timer); … que parece devolver un puntero a tm struct. Descubrí que la dirección de devolución se usa principalmente para devolver nuevas asignaciones de memoria. Si esto es […]

Estructuras de “juego de palabras” de unión con “secuencia inicial común”: ¿Por qué C (99+), pero no C ++, estipula una “statement visible del tipo de unión”?

Fondo Las discusiones sobre la naturaleza, en su mayor parte, no definida o implementada por la implementación, de los tipos-juego de palabras a través de una union suelen citar los siguientes bits, aquí a través de @ecatmur ( https://stackoverflow.com/a/31557852/2757035 ), en una exención para estándar -layout struct s que tiene una “secuencia inicial común” de […]

¿Qué es ‘forward declaration’ y la diferencia entre ‘typedef struct X’ y ‘struct X’?

Soy un principiante en la progtwigción de C y sé la diferencia entre la statement de tipo de estructura y la statement de estructura typedef. Encontré una respuesta diciendo que si definimos una estructura como: typedef struct { some members; }struct_name; Entonces será como proporcionar un alias a una estructura anónima (ya que no tiene […]

Estructura de matrices frente a matriz de estructuras en CUDA

De algunos comentarios que he leído aquí, ¿por alguna razón es preferible tener Structure of Arrays ( SoA ) sobre Array of Structures ( AoS ) para implementaciones paralelas como CUDA? Si eso es cierto, ¿alguien puede explicar por qué? ¡Gracias por adelantado!