1

可能重复:
什么是聚合和 POD,它们如何/为什么特别?

C ++ 11中的结构必须使用什么样的构造函数才能将此结构保持为POD?

只有初始化列表可以接受吗?或者也许没有任何限制?

4

1 回答 1

1

您需要一个默认的默认构造函数,以便它是微不足道的:

struct pot
{
    constexpr pot() noexcept = default;

    pot(int a, float b) : x(a), y(b) { }

    int x;
    float y;
};

constexprand是可选的noexcept,但我们也可以。

用法:

pot p;         // OK
pot q(1, 1.5); // also OK
于 2012-09-01T14:51:03.253 回答