union one4all { int int_val; long long_val; double double_val; }; 使用: one4all pail; pail.int_val =15; cout << pail.int_val; pail.double_val = 1.38; cout << pail.double_val; //如果此时输出pail.int_val,显示其他数字
在结构体中的声明和使用:
struct widget { char brand[20]; int type; union id { long id_num; char id_char[20]; } id_val; }; ... widget prize; ... if(prize.type == 1) cin >> prize.id_val.id_num; else cin >> prize.id_val.id_cahr;
匿名共用体(anonymous union)没有名称,其成员将成为位于相同地址处的变量,地址相同,只是名字不同而已,每次只有一个成员是当前的成员.
代码示例:
struct widget { char brand[20]; int type; union { long id_num; char id_char[20]; } ; }; ... widget prize; ... if(prize.type == 1) cin >> prize.id_num; else cin >> prize.id_cahr;
来源:51CTO
作者:美女大神的日子
链接:https://blog.csdn.net/qq_43228427/article/details/100831408