C++:34---union:联合/共用体,一种节省空间的类
生活随笔
收集整理的這篇文章主要介紹了
C++:34---union:联合/共用体,一种节省空间的类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、聯合(union)概述
聯合(union)是一種特殊的類
一個union可以有多個數據成員,但是在任意時刻只有一個數據成員可以有值。當我們給union的某個成員賦值之后,該union的其它成員就變成未定義的狀態了。分配給一個union對象的存儲空間至少要能容納它的最大的數據成員
類的某些特性對union同樣適用,但并非所有特性都如此:
union不能含有引用類型的成員,union的成員可以是絕大多數類型。在C++11標準中,含有構造函數或析構函數的類類型也可以作為union的成員類型
union可以為其成員指定public、protected、private等標記。默認情況下union的成員都是公有的
union可以定義包括構造函數和析構函數在內的成員函數。但是由于union既不能繼承自其它類,也不能作為基類使用,所以在union中不能含有虛函數
二、定義union
union提供了一種有效的途徑使得我們可以方便地表示一組類型不同的互斥值
例如我們需要處理一些不同類型的數字數據和字符數據,則在此過程中可以定義一個union來保存這些值:
三、使用union類型
總結
以上是生活随笔為你收集整理的C++:34---union:联合/共用体,一种节省空间的类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++(STL):20---deque容
- 下一篇: C++:28 --- C++内存布局(上