我对 union 体及其分配内存的方式感到困惑。假设我有:
union Values
{
int ivalue;
double dvalue;
};
Values v;
所以我知道 int 使用 4 个字节,double 使用 8 个字节,所以总共分配了 8 个字节(我认为),也就是说 v
使用多少内存?
最佳答案
您几乎已经回答了您自己的问题:给定一个四字节的 int
和一个 8 字节的 double
,v
将使用8 字节内存。
如果不确定,您可以编译并运行一个简单的程序,该程序将打印出 sizeof(v)
。
关于c++ - 关于 union 和内存管理的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7518625/