2.1.2 unión
Un
tipo especial de unión se ha incorporado a C++ :unión anónima. Una unión
anónima declara simplemente un conjunto de elementos que comparten la misma
dirección de memoria; no tiene nombre identificador y se puede acceder
directamente a los elementos por su nombre.
Un ejemplo:
union
{
int i;
float f;
};
Tanto
i como f comparten la misma posición de memoria. A los miembros de esta
unión se puede acceder directamente en el ámbito en que está declarada. Por
tanto, en el ejemplo, la sentencia i=3
sería aceptable.
Las uniones anónimas son
interesantes en el caso en que se defina una unión en el interior de una
estructura:
struct registro
{
union
{
int num;
float salario;
};
char *telefono;
};
registro empleado;
Para acceder al nombre de un
campo dentro de esta estructura:
empleado.sueldo;