Здравствуйте, Stanislav V. Zudin, Вы писали:
SVZ>Здравствуйте, _hum_, Вы писали:
__>>Раньше на raw-ptr узел дерева, если говорить о двоичном варианте, выглядел
__>>При попытке перевести все на язык смартов возникают трудности: если делать на unique_ptr (что достаточно логично), то непонятно, как быть с указателем на родителя. Если же делать на shared_ptr / weak_ptr, то нарушается логика владения. Как в таком случае быть?
SVZ>Предлагаю "ход конём". Заменить указатели на индексы в массиве.
ну, тогда ж придется писать аналог менеждера кучи (чтоб искал свободное место, куда можно вставлять новые элементы, чтобы помечал удаленные как свободные места и т.п.). но еще чуть-чуть, и я психану и все же наверное так и сделаю, потому что тратить столько времени на реализацию обычного дерева — это уж слишком (а я уже третий день с этим вожусь)
SVZ>Забесплатно получаем дешевую бинарную сериализацию.
да, именно из-за нее вся возня со смартами (cereal не умеет выполнять сериализацию для raw-ptr — только для смартов)