c++类作为并集

c++ classes as unions

本文关键字:c++      更新时间:2023-10-16

我发现并集是c++中的类。

如果您将类声明为并集:

union Foo//声明联合类型{char ch;int func(int a);};

并集的大小是4还是1(假设字符大小为1,指针大小为4)?

我发现联合也是c++中的类。(重点矿井)

否(它们是类类型,而不是类)

3.9.2/1

  • […]
  • 并集,它是能够在不同时间包含不同类型对象的类
  • […]

(不再相关)工会不能具有virtual成员功能&也不能用于继承。

回答:

大小将足够大,以容纳最大的数据成员。在这种情况下,很可能是1,是的。

自己试试:

#include <iostream>
union Foo    // Declare union type
{
    char   ch;
    int func(int a);     
};   
int main()
{
    std::cout << sizeof(Foo);
}

输出:

1
相关文章:
  • 没有找到相关文章