c ++中struct对象的深层复制指针

时间:2016-08-11 13:48:21

标签: c++ pointers structure deep-copy

我有以下类型的结构:

struct SPacket
{
    unsigned char payload[260]; 
    unsigned int payloadLength; 
}; 

我有一个指向此结构的指针对象:

SPacket* ptrObj; 

如何将ptrObj的深层副本执行到另一个对象:

SPacket obj;  

2 个答案:

答案 0 :(得分:6)

编译器生成的复制构造函数将深层复制数组成员,因此只需使用它:

eip

答案 1 :(得分:3)

解决方案非常简单:使用复制构造函数:

SPacket obj = *ptrObj;

这将调用(隐式)复制构造函数。