相关疑难解决方法(0)

有关C++非POD联合的问题

C++ 11让我们可以在联合中使用非POD类型,比如说我有以下代码;

union
{
    T one;
    V two;
} uny;
Run Code Online (Sandbox Code Playgroud)

在我班级的某个地方,一次只有一名成员活跃,现在我的问题相当简单.

  1. uny的默认值是多少? - 未定义?
  2. 每当我的班级被毁坏时,哪些成员(在工会内),是否会被毁坏?
    • 假设我必须使用std :: typeinfo来跟踪哪个是活动成员,那么我是否应该在析构函数中对该成员显式调用析构函数?
  3. 有没有人有语言提案的链接,这会改变工会接受非POD类型?

c++ pod unions discriminated-union c++11

12
推荐指数
1
解决办法
3579
查看次数

为什么 std::aligned_union 需要最小尺寸作为模板参数?

std::aligned_union有一个std::size_t“最小长度”参数。现在,通常的工会没有这个,所以我想知道为什么这是必要的。有人可以向我解释为什么吗?

c++11

5
推荐指数
1
解决办法
496
查看次数

标签 统计

c++11 ×2

c++ ×1

discriminated-union ×1

pod ×1

unions ×1