gpt4 book ai didi

c++ - 相互递归类是否可能?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:00:19 26 4
gpt4 key购买 nike

我读了how this can be made to work使用前向声明。

class A
{
public:
B *objB;

void foo(){}
}

class B
{
public:
A *objA;

void foo(){}
}

只是想确认这种设计是否可行?

class A
{
public:
B objB;

void foo(){}
}

class B
{
public:
A objA;

void foo(){}
}

PS:如果有人还可以解释为什么/为什么这在逻辑上是可能的类,而不是仅仅在语言方面,比如引用一些例子。这在类方面究竟意味着什么?

最佳答案

第二个例子是不可能的。它说分配给 A 的空间包含 B 的空间,而 B 又包含 A 的空间,等等。这需要无限量的内存,并且需要无限量的时间来构建。

关于c++ - 相互递归类是否可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8836941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com