Why is std::is_pod deprecated in C++20?

前端 未结 1 1632
一生所求
一生所求 2020-12-04 18:39

std::is_pod will be probably deprecated in C++20.
What\'s the reason for this choice? What should I use in place of std::is_pod to know if a ty

相关标签:
1条回答
  • 2020-12-04 19:07

    POD is being replaced with two categories that give more nuances. The c++ standard meeting in november 2017 had this to say about it:

    Deprecating the notion of “plain old data” (POD). It has been replaced with two more nuanced categories of types, “trivial” and “standard-layout”. “POD” is equivalent to “trivial and standard layout”, but for many code patterns, a narrower restriction to just “trivial” or just “standard layout” is appropriate; to encourage such precision, the notion of “POD” was therefore deprecated. The library trait is_pod has also been deprecated correspondingly.

    For simple data types use the is_standard_layout function, for trivial data types (such as simple structs) use the is_trivial function.

    0 讨论(0)
提交回复
热议问题