编程总结(四)C++中的前置声明
来源:互联网 发布:虚幻4做的游戏好优化吗 编辑:程序博客网 时间:2024/06/03 14:02
编程总结(四)C++中的前置声明
0x01 前置声明应用场景
一般来说,当你某个文件中,需要用到某个类或者结构体的指针,但是却不能直接包含那个类或者结构体的声明文件时,可以用前置声明解决。
重点:前置声明的类或者结构体,只能声明成指针变量,而且不能使用它的成员。因为声明一个指针变量,编译器能知道这个指针变量的类型,还能知道变量的大小(指针大小),所以能创建这个指针变量。但是如果声明成对象,编译器不知道该对象的成员,故不能为这个变量分配空间,从而会有一个使用未定义类型的错误。
0x02 使用方法
1、类的前置声明
class A;class B{public: A* a = nullptr; B() { } ~B() { }};
前置声明类A,则在声明之后,就能使用类A创建指针变量。
2、结构体的前置声明
某个地方,有如下定义
typedef struct st_C{ //.... //某些成员}C;
另外的文件,对结构体C的前置声明,只能用下面方式
struct st_C;class D{public: st_C* c = nullptr; D() { } ~D() { }private:};
不能使用struct C;只能使用struct st_C;(具体原因我也不知道…)
0 0
- 编程总结(四)C++中的前置声明
- 【总结】C++前置声明
- C++中的前置声明
- C++中的前置声明
- c++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- pl/sql中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- 关于C++中的前置声明
- STL 基础学习总结
- Maven Intellij 配置下载镜像
- shell-四(数组和函数)
- Docker命令解读-二
- Android优化(三)_延迟电池续航时间
- 编程总结(四)C++中的前置声明
- jsp 前端防止 xss 注入攻击
- Java并发编程:Synchronized及其实现原理
- vue2.0总结 --- vue使用过程中的常见问题
- 56
- WAMPServer自定义监听端口号
- 打造网络营销利器-第6篇-外链推广 网站优化进阶
- FCN网络训练 SIFTFLOW数据集
- vue中引入jquery