本文介绍了这是struct POD在C ++ 11?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个结构是C ++ 11中的POD吗?

Is this struct a POD in C++11?

struct B
{
  int a;
  B(int aa) : a(aa) {}
  B() = default;
};

请注意,这个问题是关于 C ++ 11 的。我知道这个类不是C ++ 98和C ++ 03中的POD。

Note that this question is explicit about C++11. I know that this class is not a POD in C++98 nor C++03.

有关C ++ 11中POD的说明,请参阅

For an explanation of POD in C++11, see trivial vs. standard layout vs. POD

(受此问题启发:)

推荐答案

是的,它是一个POD根据。

You can use the std::is_pod type trait to have the compiler test this for you with static_assert.

static_assert(std::is_pod<B>::value, "B should be a POD");

这篇关于这是struct POD在C ++ 11?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 11:19