gpt4 book ai didi

c++ - C++ 中指向自身内部类的指针

转载 作者:行者123 更新时间:2023-11-30 01:46:23 25 4
gpt4 key购买 nike

我正在用 C++ 分析一些代码,我遇到了这个配置。

class jack {
//rest of the class body here
public:
jack *a;
};

在该配置中使用指针的原理是什么?

最佳答案

这里没有特别的理论。

允许声明指向不完整类型的指针,包括声明中的类型。因为 class jack 中的指针指向 class jack 它并不一定意味着指针指向同一个对象。

这是因为实际上编译器不需要知道更多关于指针目标类型的信息,因为指针基本上只是一个地址。首先,当你用指针做某些事情时,它需要是一个完整的类型(例如,在你取消引用它的时候,访问一个成员或方法,做指针算术等)。

为了允许构建范围广泛的数据结构,包括链表、树等,允许这样做是必需的。在 C 语言中,它也很有用,因为它允许通过不在编译单元外公开结构的内容来隐藏数据(数据隐藏是通过在 header 中向前声明 struct 并在C 文件实现结构的 API)。

关于c++ - C++ 中指向自身内部类的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33294852/

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