关于C++ 中POD类型的解析

本文详细解析了C++中的Plain Old Data (POD) 类型,包括其定义、特征和利用POD类型进行类型判断的方法。POD类型可以作为union的成员,且在某些场景下允许未初始化。在.NET环境中,托管类型可以包含嵌入的原生POD类型,但不能包含带有默认构造函数的非POD类型。
摘要由CSDN通过智能技术生成

 关于C++ 中POD类型的解析

 

转自: http://liuqifly.spaces.live.com/blog/cns!216ae3a149106df9!221.entry

(C++-98:1.8;5)给出的定义:
将对象的各字节拷贝到一个字节数组中,然后再将它重新拷贝到原先的对象所占的存储区中,此时该对象应该具有它原来的值。
《imperfect c++》一书中给出的定义和一些特性利用:
1、所有标量类型、POD结构类型、POD联合类型、以及这几种类型的数组、const/volatile修饰的版
   本都是POD类型。
2、POD结构/联合类型:一个聚合体(包括class),它的非static成员都不是pointer to member、
   pointer to member function、非POD结构、非POD联合,以及这些类型的数组、引用、const/
   volatile修饰的版本;并且,此聚合体不能有用户自定义constructor、destructor、assign
   operator。
3、POD类型可以具有static成员、成员typedef、嵌套struct/class定义和成员函数/方法。
 
POD类型特性:
所有POD类型都可以作为union的成员,反之,所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值