Код: Выделить всё
Class A
{
private:
std::shared_ptr mB;
public:
void init()
{
mB = std::make_shared();
mB->setA(this);
}
};
Class B
{
private:
std::shared_ptr mA;
public:
void setA(shared_ptr a)
{ mA = a; }
};
int main()
{
shared_ptr objA = std::make_shared();
}
Как лучше всего решить эту проблему без большого количества рефакторинга кода? Пример кода приветствуется, так как я плохо разбираюсь в умных указателях.
Большое спасибо!
Я попытался немного реорганизовать код, используя слабый_ptr для мБ в классе А, но видимо я сделал что-то не так, приложение вылетает при запуске.
Подробнее здесь: https://stackoverflow.com/questions/787 ... each-other