[C++]union聯合體總結


特點一:成員公用內存,且按所占內存最大的數據成員分配內存

//舉例1
union A{
char a;//1個字節
int b;//4個字節
char c;//1個字節
}
cout<<sizeof(A)<<endl;//輸出的結果是4個字節

特點二:數據成員的訪問權限為公有

//舉例2
union B{
char a;
int b;
char c;
}
B.a='x';//可以直接訪問
cout<<B.a<<endl;

特點三:union內不能存放靜態,引用的成員(因為它們不能共享內存)

//舉例3
union C{
static char a;//錯誤!不能有static
int& b;//錯誤!不能有引用
}

特點四:聯合不能放入帶構造、析構函數的類

//舉例4
union D{
string a;//報錯
test b;//報錯
}

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com