本文介绍了这是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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!