我对C ++很陌生,遇到了以下问题:
class School
{
Manager manager;
}
class Manager
{
School school;
}
它需要无限内存,并会导致不必要的无限循环。
解决问题的最佳方法是什么?
答案 0 :(得分:1)
class School;
class Manager
{
std::weak_ptr<School> school;
};
class School
{
std::shared_ptr<Manager> manager;
};
根据您的目的,您可能希望使用Manager中的shared_ptr和School中的weak_ptr,但概念保持不变。