C++ 关于Union类型的一些细节
Union其实可以看作一种特殊的结构体;
对于普通的类和结构体,会通过定义和实例化开辟空间,每个成员和字段相互独立不关联;
但是Union内所有的数据共享同一段内存,从而达到节省空间的目的,使用的是计算机组成原理中的覆盖技术,所以Union的最大空间范围其实相当于最大变量的范围;
值得注意的是,Union最好还是保持C的写法,不要加入过多的C++中对象的内容,不然会导致析构和构造函数的调用初始化类存在问题;
Union其实可以看作一种特殊的结构体;
对于普通的类和结构体,会通过定义和实例化开辟空间,每个成员和字段相互独立不关联;
但是Union内所有的数据共享同一段内存,从而达到节省空间的目的,使用的是计算机组成原理中的覆盖技术,所以Union的最大空间范围其实相当于最大变量的范围;
值得注意的是,Union最好还是保持C的写法,不要加入过多的C++中对象的内容,不然会导致析构和构造函数的调用初始化类存在问题;