std::is_pod
可能会在C ++ 20中弃用。
这个选择的原因是什么?我应该使用什么代替std::is_pod
来知道某个类型是否真的是POD?
答案 0 :(得分:45)
POD正在被两个带来更多细微差别的类别所取代。 c++ standard meeting in november 2017对此有这样的说法:
不赞成“普通旧数据”(POD)的概念。它已被两个更细微的类型替换,“琐碎”和“标准布局”。 “POD”相当于“琐碎和标准的布局”,但对于许多代码模式,对“琐碎”或“标准布局”的狭窄限制是合适的;为了鼓励这种精确性,“POD”的概念因此被弃用。库特征is_pod也相应地被弃用。
对于简单数据类型,使用is_standard_layout
函数,对于简单数据类型(例如简单结构),使用is_trivial
函数。