P ++中C ++ 11中的构造函数要求

时间:2012-09-01 14:46:35

标签: c++ c++11

  

可能重复:
  What are Aggregates and PODs and how/why are they special?

C ++ 11中的哪种构造函数可以将这个结构保持为POD?

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

1 个答案:

答案 0 :(得分:1)

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

struct pot
{
    constexpr pot() noexcept = default;

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

    int x;
    float y;
};

constexprnoexcept是可选的,但我们也可以。

用法:

pot p;         // OK
pot q(1, 1.5); // also OK