1
2
不要在联合中使用字符串。不要对联合中不是POD的对象使用任何东西(构造函数/析构函数也是如此)。
使用
|
2
2
正如在评论和另一个答案中所解释的,问题来自于这样一个事实:不是POD的union元素不能被简单地初始化:应该使用一个placement new来代替。当使用这种联合时,还必须注意删除不再使用的非POD元素。 在这里,应该是这样的:
还提到,使用专用库可以更容易地处理带有非POD元素的此类联合:
|
afiori · 访问结构并集中结构的第一个字段 7 年前 |
AppTest · 如果联合声明为[闭合],则不会显示循环 7 年前 |
NeoR · 联合和内存管理[重复] 7 年前 |
Kevin · 获取浮点数的符号、尾数和指数 8 年前 |
user2671513 · C:指针、并集和地址 11 年前 |
user2322888 · 并集在c中有什么用?[副本] 11 年前 |
chhenning · 在c中使用并集时不理解输出++ 11 年前 |
user978122 · C工会背后的意义是什么? 11 年前 |