
Сообщение от
DrOffset
Ну так это можно сделать. Через обратную ссылку или указатель. Консистентность этой ссылки призваны сохранять конструкторы и деструкторы.
Ещё раз. Конструкторы и деструкторы решают только проблему начальной инициализации указателя parent, но не могут быть вызваны при перемещении родительского объекта. И не важно, reallocом я его перекинул, чем то другим. Я увеличиваю количество объектов, с которыми имеют связь их дочерние, но за блоком был, например, другой такой же в своём родительском объекте. Блок влезать перестаёт, его надо переместить. Но если родительские объекты имеют ещё и UID, то юзать для этого их конструкторы и деструкторы нельзя, так как в результате будет имитировано нарушение их самоидентичности. Надо именно переместить, не создавай новые объекты для переноса в них старых данных.