与上一个问题有关,我现在有以下问题:
在接下来的风景中:
class B;
class A
{
// stuff, methods and so on
B b;
};
class B
{
// stuff, methods and so on
A a;
};
这里我们在A
和之间有一个循环依赖B
,但是这段代码格式不正确,因为B
它是一个不完整的类型。一种解决方案是B
通过指针或B
例如通过智能指针进行更改。但是添加指针会增加复杂性和不必要的资源消耗,因为您不需要指针!
在上一个问题中,我试图通过模板避免使用指针,所以我在定义两个类的地方延迟了类的实例化,但我无法成功。
避免指针是不可能的吗?是否有众所周知的设计来避免循环依赖?