[c++] 头文件

 c++头文件注意事项

  • 头文件是你(定义头文件的人)和代码使用者之间的合同( 非强制)
  • 编译器通过强制使用者在使用前声明函数来落实该合同(强制)
  • 在所有调用(使用者)的地方,及定义(创造者)的地方都要include头文件
  • 如果有多重使用者,仅被上级的直接使用者包含一次即可
  • 预处理时将.h和.cpp文件连接形成编译前文件
  • .h文件中只能有声明,不可有定义,否则抄进.cpp后会出现重复定义的错误
  • 头文件通常包含只能被定义一次的实体,如类、const变量
  • ifndef/define/endif的作用:当多个文件重复包含一个头文件时,提高编译效率,同时避免重复包含导致错误(类的重定义)。建议所有头文件中都要写上
  • include库文件用<>,自己编写的头文件用" "
  • 永远不要去include .cpp文件
  • 尽量在.cpp文件中包含头文件,而非在头文件中。假设类A的一个成员是是一个指向类B的指针,在类A的头文件中使用了类 B的前置声明并编译成功,那么在A的实现中我们需要访问B的具体成员,因此需要包含头文件,那么我们应该在类A的实现部分(.cpp文件)包含类B的头文件而非声明部分(.h文件)

参考:

ifndef/define/endif的作用

https://www.jb51.net/article/100939.htm

头文件里写什么

https://www.cnblogs.com/fenghuan/p/4794514.html

在.h文件中包含头文件和在.cpp文件中包含头文件的区别

https://blog.csdn.net/xueruifan/article/details/50569639

#include和直接写class加类名的区别

https://blog.csdn.net/CC_20171030/article/details/78557723

原文地址:https://www.cnblogs.com/cxc1357/p/11829134.html