Здравствуйте, Вадим Никулин, Вы писали:
ВН>Здравствуйте, Аноним, Вы писали:
А>>Как избежать или предусмотреть способ отлова проблем циклических ссылок, при использовании умных указателей с подсчётом ссылок.
ВН>Нужно пытаться веделить "главный объект", все ссылки только выходят из него. На него ссылаются только из вне.
С мыслью согласен, но всё же хочется как-то застраховатся, или полностью решить эту проблему.
Под цикличностью я подразумевал что-то подобное:
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;