由于c和c++内存管理机制不同,安全函数例如memset_s、memcopy_s,当参数类型为非pod时,存在风险。
pod类型
传统c已有风格类型包括基本类型,结构体等,pod类型可以嵌套,只要各嵌套组合类型为pod,则该参数类型为pod。
struct pod {
int a;
char b;
double c;
podchlid e;
};
podchlid e{
int ea;
char eb[4];
e{
ea=0;
eb[0]=0;
eb[1]=0;
eb[2]=0;
eb[3]=0;
}
};
//函数指针保存在单独的空间,假如类中只定义了一个非虚函数,那该类只有1byte占位,如果有其他元素,则不需要占位
如果自定义类型中包括指针元素或者虚函数(该类型有虚函数表4byte)时,那么该类型在操作时涉及到指针元素,属于非pod类型
非POD类型
最新推荐文章于 2025-11-26 14:52:38 发布

4924

被折叠的 条评论
为什么被折叠?



