共同体(union)

匿名 (未验证) 提交于 2019-12-03 00:05:01


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;
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!