gpt4 book ai didi

c++ - C++中结构名称的可用性

转载 作者:太空狗 更新时间:2023-10-29 23:24:37 25 4
gpt4 key购买 nike

考虑以下两个代码片段(按顺序为 A 和 B):

struct abc {
int a {};
abc* next;
};

struct abc {
int a {};
abc next;
};

事实是:
1. 片段A有效。
2. 片段B无效。

参数:

B 无效,因为编译器在声明时无法确定片段 B 中 abc 的大小。 (Stroustrup,C++ 编程语言,8.2.2)

我的疑问:

代码段A编译时不是需要abc的大小吗?声明指向abc的指针时是否不需要abc的大小?否则在编译期间,编译器如何知道如何取消引用 abc*

最佳答案

C++ 区分声明使用。要声明一个指针,不需要知道指针类型的大小。但是,引用指针的代码确实需要知道它的大小。

关于c++ - C++中结构名称的可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32957743/

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