Re[2]: Циклические ссылки и умные указатели.
От: us  
Дата: 28.09.04 18:46
Оценка:
Здравствуйте, Вадим Никулин, Вы писали:

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


А>>Как избежать или предусмотреть способ отлова проблем циклических ссылок, при использовании умных указателей с подсчётом ссылок.


ВН>Нужно пытаться веделить "главный объект", все ссылки только выходят из него. На него ссылаются только из вне.


С мыслью согласен, но всё же хочется как-то застраховатся, или полностью решить эту проблему.
Под цикличностью я подразумевал что-то подобное:

class A {
public:
smart_ptr<A> Member;
}

class B {
public:
smart_ptr<A> bMember;
}

class C {
public:
smart_ptr<A> cMember;
}

A obj;
A obj1;
B obj2;
C obj3;

//Простенький цикл можно ограничит создав метод SetMember с соотв. проверкой
obj.Member = obj1;
obj1.Member = obj;

//А вот тут как быть
obj.Member = obj1;
obj1.Member = obj2;
obj2.bMember = obj3;
obj3.cMember = obj;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.