Visual C ++ хороший способ сделать глубокое копирование?

У меня есть что-то вроде структуры

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
);

Хотя я не думаю, что это сделает глубокую копию для меня, что будет хорошим способом сделать безопасную глубокую копию в этом случае?

0

Решение

Я бы предложил создать функцию конструктора копирования, в которой вы будете назначать каждую переменную из исходного объекта в целевой объект. Для указателей используйте new Ключевое слово для выделения памяти для хранения объекта, а не просто для копирования адреса объекта.

Для получения дополнительной информации о конструкторе копирования обратитесь к http://www.tutorialspoint.com/cplusplus/cpp_copy_constructor.htm

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector