C++ union使用注意

来源:互联网 发布:森田玻尿酸乳液知乎 编辑:程序博客网 时间:2024/06/11 01:50
     union在我们写程序的时候的使用概率远远小于struct。所以我们经常不太关心她,就知道他是使用内存复用技术。同一个时刻,他只能存在一个成员的值。 C中,我们在union中可以包含struct的,但是情况到了C++中的时候就不一样了。尤其是我们union中使用到类的时候。比如说使用到CString 的时候,你会发现,程序会报错。这个问题让我很不理解,看了些资料终于明白了 是怎么回事了。union 对象在创建的时候,不会去构造,只是简单的去分配内存。我们在union中包含了类的时候,这时候类就要去构造,union是不构造的,这样的情况下,导致的结果,类的对象没有创建出来。这样就会出现错误。
0 0