оперировать memcpy, memmove и деструкторами некорректно) это сишные функции, они знать не знают, что там с++ объекты прилетели к ним. Как раз вот это доплнение в с++20 про то, что начнется время жизни объекта, но и там оговорок очень много. Если у объекта есть нетривиальный деструктор, то memcpy и memmove использовать не нужно