#include <iostream>;
#include <cmath>;
#include <string>;
#include <cstring>;
/*
匿名共用体
匿名共用体(anonymous union)没有名称,其成员将成为位于相同地质处的变量。显然,每次
只有一个成员是当前的成员。
下面的例子中,由于共同体是匿名的,因此id_num 和 id_char被视为price的两个成员,他们的地址相同,所以
不需要中间标示符 id_val.程序员负责确定当前哪个成员是活动的。
*/
struct widget{
char brand[20];
int type;
union {
long id_num;
char id_char[20];
};
};
int main(){
using namespace std;
widget price;
price.type = 1;
if(price.type == 1){
cin >> price.id_num;
}else{
cin >> price.id_char;
}
if(price.type == 1){
cout << price.id_num << endl;
}else{
cout << price.id_char << endl;
}
}
从0学习C++ (五)匿名共同体
最新推荐文章于 2024-03-17 13:49:45 发布