0

我有一个类似这样的结构

struct
{
  struct bar x;
}foo

struct
{
  DWORD count;
  MyType* arr;
}bar

现在我想做一个实例的深拷贝foo,我正在查看来自 msdn 的函数(http://msdn.microsoft.com/en-us/library/windows/desktop/aa366535(v=vs.85) .aspx ) 调用
void CopyMemory( In PVOID Destination, In const VOID *Source, In SIZE_T Length );

虽然我认为这不会为我做一个深拷贝,但在这种情况下,做一个安全的深拷贝的好方法是什么?

4

1 回答 1

2

我建议创建一个复制构造函数,您将在其中将源对象中的每个变量分配给目标对象。对于指针,使用new关键字分配内存来存储对象,而不是仅仅复制对象的地址。

有关复制构造函数的更多参考,请参阅http://www.tutorialspoint.com/cplusplus/cpp_copy_constructor.htm

于 2013-10-22T01:05:47.197 回答