C++头文件包含于前置声明
2014-10-01 08:36
197 查看
http://blog.csdn.net/archielau/article/details/7879387
第一个原则应该是,如果可以不包含头文件,那就不要包含了。这时候前置声明可以解决问题。如果使用的仅仅是一个类的指针,没有使用这个类的具体对象(非指针),也没有访问到类的具体成员,那么前置声明就可以了。因为指针这一数据类型的大小是特定的,编译器可以获知。
第二个原则应该是,尽量在CPP文件中包含头文件,而非在头文件中。假设类A的一个成员是是一个指向类B的指针,在类A的头文件中使用了类B的前置声明并便宜成功,那么在A的实现中我们需要访问B的具体成员,因此需要包含头文件,那么我们应该在类A的实现部分(CPP文件)包含类B的头文件而非声明部分(H文件)。
第一个原则应该是,如果可以不包含头文件,那就不要包含了。这时候前置声明可以解决问题。如果使用的仅仅是一个类的指针,没有使用这个类的具体对象(非指针),也没有访问到类的具体成员,那么前置声明就可以了。因为指针这一数据类型的大小是特定的,编译器可以获知。
第二个原则应该是,尽量在CPP文件中包含头文件,而非在头文件中。假设类A的一个成员是是一个指向类B的指针,在类A的头文件中使用了类B的前置声明并便宜成功,那么在A的实现中我们需要访问B的具体成员,因此需要包含头文件,那么我们应该在类A的实现部分(CPP文件)包含类B的头文件而非声明部分(H文件)。
相关文章推荐
- C++中头文件相互包含与前置声明
- 关于前置声明与C++中头文件相互包含的几点问题
- 关于前置声明与C++中头文件相互包含的几点问题
- C++中头文件相互包含与前置声明
- C++中头文件相互包含与前置声明
- C++中头文件中是包含include还是包含类的前置声明
- C++中头文件相互包含与前置声明
- C++中头文件中是包含include还是包含类的前置声明
- C++中头文件中是包含include还是包含类的前置声明
- 前置声明与C++头文件互相包含导致的error: 'xxx' does not name a type问题
- C++中前置声明和头文件包含
- 关于前置声明与C++中头文件相互包含的几点问题
- 对C++类前置声明和包含头文件的一点理解
- 使用前置声明取代包含头文件
- 类前置声明和头文件包含
- 对类前置声明和包含头文件的一点理解
- 对类前置声明和包含头文件的一点理解
- 对类前置声明和包含头文件的一点理解
- 类前置声明和包含头文件区别
- 头文件相互包含引起的错误(对类前置声明和包含头文件的理解 )