在学习Qt的QVariant时,Qt Create的说明手册中说道:
Because C++ forbids unions from including types that have non-default constructors or
destructors, most interesting Qt classes cannot be used in unions.
大概意思是:因为c++禁止联合体中包含有非默认的构造函数和析构函数的类型,许多继承的Qt类不能在联合体中使用(这些类都有自定义的构造/析构函数)。
在c语言中并没有类的概念,所有类型都可以看做是基本数据类型的组合,因此在联合体(union)中包含结构体(struct)是一件习以为常的事情:
//c语言版本
#include <stdio.h>
typedef struct _stu {
int a;