Resultados de la búsqueda a petición "unions"
¿Usa std :: launder para obtener un puntero a un miembro de objeto activo desde un puntero a un objeto inactivo?
Esta pregunta sigue a estauno [https://stackoverflow.com/questions/48188737/is-pointer-arithmetic-on-inactive-member-of-a-union-ub] Consideremos este código de ejemplo: struct sso { union{ struct { char* ptr; char size_r[8]; } large_str; ...
gcc, alias estricto y transmisión a través de una unión
¿Tienes alguna historia de terror que contar? El Manual del CCG agregó recientemente una advertencia sobre -fstrict-aliasing y lanzar un puntero a través de una unión: [...] Tomar la dirección, lanzar el puntero resultante y desreferenciar ...
Constructor y constructor de copia para la clase que contiene la unión con miembros no triviales
Estoy tratando de implementar un tipo de variante personalizada que utiliza una unión para almacenar datos de varios tipos diferentes. En el campotype_id Planeo almacenar de qué tipo son los datos almacenados en la unión. El sindicato contiene ...
Cómo escribir destructor para clase de unión
Estoy tratando de usar una unión (C ++) que tiene algunas variables no primitivas, pero estoy atascado tratando de crear el destructor para esa clase. Como he leído, no es posible adivinar qué variable de la unión se está utilizando, por lo que ...
¿Cómo funciona boost :: variant and boost :: cualquier trabajo?
¿Cómo funcionan internamente las variantes y cualquiera de la biblioteca boost? En un proyecto en el que estoy trabajando, actualmente utilizo una unión etiquetada. Quiero usar otra cosa, porque las uniones en C ++ no te permiten usar objetos con ...
¿Las uniones sin restricciones requieren una colocación nueva y una definición de constructor?
Los ejemplos que he visto de uniones sin restricciones siempre parecen usar una ubicación nueva al construir. El artículo de Wikipedia para las características de C ++ 11 utiliza una ubicación nueva en el constructor de una ...
estructuras 'punning' de unión con “secuencia inicial común”: ¿Por qué C (99+), pero no C ++, estipula una 'declaración visible del tipo de unión'?
AntecedentesDebates sobre la naturaleza, en su mayoría, no definida o implementada de la escritura de tipos mediante ununion normalmente cita los siguientes bits, aquí a través de @ecatmur ...
Acceso a miembros inactivos del mismo tipo en sindicatos
Tengo algo como esto: union DataXYZ { struct complex_t { float real, imag; } complex; struct vector_t { float magnitude, phase; } vector; };Tengo algunos vectores de estos, que son memoria de espacio de trabajo de propósito general, donde uso ...
Aclaración sobre un ejemplo de sindicatos en el estándar C11
El siguiente ejemplo se da en el estándar C11, 6.5.2.3 Lo siguiente no es un fragmento válido (porque el tipo de unión no es visible dentro de la función f): struct t1 { int m; }; struct t2 { int m; }; int f(struct t1 *p1, struct t2 *p2) { if ...
¿Accediendo a un miembro sindical inactivo y comportamiento indefinido?
Tenía la impresión de que acceder a ununion otro miembro que no sea el último conjunto es UB, pero parece que no puedo encontrar una referencia sólida (aparte de las respuestas que afirman que es UB pero sin ningún soporte del estándar). ...