POD数据类型

2019-09-29  本文已影响0人  HAPPYers

https://blog.csdn.net/kongkongkkk/article/details/77414410

含义

POD,是Plain Old Data的缩写,普通旧数据类型,是C++中的一种数据类型概念

POD类型与C编程语言中使用的类型兼容,POD数据类型可以使用C库函数进行操作,也可以使用std::malloc创建,可以使用std::memmove等进行复制,并且可以使用C语言库直接进行二进制形式的数据交换

POD数据类型要求

判断POD类型

C++中判断数据类型是否为POD的函数:is_pod() (C++11)

//since C++11
Defined in header <type_traits>
template< class T >
struct is_pod;

如果TPOD类型,即简单和标准布局,则将成员常量值设置为true。 对于任何其他类型,值为false

//output:
//true
//false
//false
#include <iostream>
#include <type_traits>

struct A {
    int m;
};

struct B {
    int m1;
private:
    int m2;
};

struct C {
    virtual void foo();
};

int main()
{
    std::cout << std::boolalpha;
    std::cout << std::is_pod<A>::value << '\n';
    std::cout << std::is_pod<B>::value << '\n';
    std::cout << std::is_pod<C>::value << '\n';
}
上一篇 下一篇

猜你喜欢

热点阅读