前置声明是指声明一个类或结构体而不定义它,比如:
class A;
struct B;
在声明之后,定义之前,该类或结构体被称为不完全类型(incompletion type),意思是,知道类型A和B,但不知道他包含哪些内容
不完全类型的使用有一些限制,不如不能用它来定义对象,但可以定义指象该类型对象的指针,比如不但定义 A a; B b;,但可以定义
A* a;
B *b;
原因是因为编译器不知道A和B有多大,所以无法构造对象,但是指针的类型是确定的4个字节,编译器就可以构造。
不完全类型也可用于声明(而不是定义)使用该类型作为形参类型或返回类型的函数.
本文介绍了前置声明的概念,即声明一个类或结构体而不定义它。解释了何为不完全类型及其使用限制,例如不能定义对象但可以定义指向该类型对象的指针。并说明了不完全类型在函数声明中的应用。
&spm=1001.2101.3001.5002&articleId=6114975&d=1&t=3&u=e444693222114b1fa92168e9901a8182)
2098

被折叠的 条评论
为什么被折叠?



