gpt4 book ai didi

C++任何以编程方式检测POD结构的方法?

转载 作者:IT老高 更新时间:2023-10-28 22:00:25 26 4
gpt4 key购买 nike

我有存储 POD 结构的数据结构(每个实例只存储一个类型,因为它基本上是特定 POD 结构的数组)。有时另一个开发者。将修改这些结构之一,添加或修改数据类型。如果添加了非 POD 元素,例如std::string,数据结构在运行时爆炸,因为内存模型发生了变化。有没有办法使用编译器定义或在运行时调用来检测类或结构是否符合 POD(以避免这种维护问题)?我正在使用 g++ (GCC) 4.2.4。

最佳答案

在运行时可能不会,但在编译时,您可以使用来自 C++0x 标准库或 Boost.TypeTraitsis_pod 特征.

static_assert(std::is_pod<YourStruct>::value);

关于C++任何以编程方式检测POD结构的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5955444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com