Re[2]: Как хранить дерево?
От: Аноним  
Дата: 10.04.02 16:58
Оценка:
Здравствуйте Sasparella, Вы писали:

S>Здравствуйте Аноним, Вы писали:


А>>Подскажите пожалуйста ,есть ли возможность средствами MFC

А>>хранить данные в файле в виде дерева.
А>>Причем предполагаетса возможность добавления новых вершин.

S>В смысле сериалтзовать древовидную структуру?


S>Можно.


S>Например так- если узел дерева это объект , содержаший в себе массив указателей на потомки,

S>то достаточно определить функцию сериализации этого массива , после чего сериалтзоввывать себя и затем детей. Что в свою очередь сериализуеи дейтей и их детей и так далее.

S>Таим образом запись дерева будет такой



S>
S>archive << pBaseObject;
S>


S>Чтение — аналогично.



S>Будут вопросы — поделюсь конкретными классами и подводными камушками.



S>Саша.


Спасибо. Это все конечно очень хорошо.
Но записать мне надо для того,чтобы через одну-две недели восстановить это
самое дерево.
Если записать как ты предлагаешь(если я тебя правильно понял)

class Vertex
{
  public:
  // .......
  private:
  //....... 
  std::vector<Vertex> * children;
};

А затем сериализовать вектора и вершины;
Но когда я попробую считать(после неодной перезагрузки) я не смогу
восстановить структуру дерева т.к.
сохраненные указатели на детей уже
не будут таковыми(узлы ведь не будут
восстановлены в то же самое место в памяти,или я чегото не понимаю?)
Как быт?
Заранее благодарен!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.