其他分享
首页 > 其他分享> > 数据之POD数据类型

数据之POD数据类型

作者:互联网

1.POD数据类型的起源

在C语言时代,只有基本数据类型char、int、float和复合数据类型数组、指针、结构体等。但是在C++时代,出现了抽象数据结构class,类的出现伴随着封装、继承、多态三大特性,这些特性导致了类这一数据类型与ANCI C不兼容,为了使得兼容,推出了POD数据结构的概念。

2.POD数据类型的作用

POD数据类型通常被⽤在系统的边界处,即指不同系统之间只能以 底层数据的形式进⾏交互,系统的⾼层逻辑不能互相兼容。⽐如当对象的字段值是从外部数据 中构建时,系统还没有办法对对象进⾏语义检查和解释,这时就适⽤POD来存储数据。

3. POD数据类型的定义

C++11把情况推⼴为两种:

3.1.类型是平凡的

类型是平凡的(trivial),则可以静态初始化、可以⽤memcpy直接复制数据⽽不是必须⽤copy构造函数。其⽣存期始于它的对象的存储被定义,⽆须等到构造函数完成。平凡class或结构必须满⾜:

3.2.类型是标准布局的

类型是标准布局的(standard-layout)意味着它是有序的并且安排其成员兼容于C语⾔。这要求满⾜:

4.POD数据类型的特性

POD类型在源代码兼容于ANSI C时⾮常重要。POD对象与C语⾔的对应对象具有共同的⼀些特 性,包括初始化、复制、内存布局、寻址。

参考资料

标签:静态数据,对象,数据类型,POD,数据,平凡,构造函数
来源: https://www.cnblogs.com/manlujun/p/15664735.html