При написании конструктора копирования всегда нужно делать «правильные вещи» для каждой переменной-члена. Не видя документации по API для ваших DOMImplementation
и т. Д., Трудно сказать, что было бы здесь "Правильным". Возможно, для них есть конструктор копирования или функция для создания глубокой копии. Возможно, вам не требуется глубокая копия, семантически (например, для DOMImplementation
).
Итог, трудно сказать, не видя документацию по API, которая у вас наверняка есть ...
Редактировать: Итак, вы используете Xerces-C. Ты не говорил нам этого раньше ...
Редактировать 2: Посмотрим, тогда ...
API Xerces-C действительно не предоставляет какие-либо "легкие" средства копирования объекта документа, из того, что я вижу. AFAICT, вам придется создать совершенно новый документ (impl->createDocument()
), а затем вручную скопировать любые атрибуты и дочерние узлы.
Это так неловко, я бы поднял вопрос ", почему я все равно хочу скопировать мой XMLDocument
объект? Имеет ли это вообще смысл на семантическом уровне?". (Личный опыт: если во время работы с хорошо используемым API дела идут плохо, есть вероятность, что вы делаете что-то не так, иначе был бы легкий путь. XML - не моя сильная сторона, поэтому я не в себе здесь.)