没有cpp文件的标题包括订购

时间:2012-04-06 17:02:15

标签: c++ header include

a question about header ordering中有一个评价很高的回复,提出以下建议:

  

良好做法:每个.h文件都应该有一个.cpp,首先包含.hpp。这证明任何.h文件都可以放在第一位。

     

即使标头不需要实现,也可以创建一个仅包含该.h文件的.cpp,而不是其他内容。

就个人而言,我从来没有遇到过包含没有相应cpp文件的标题的问题。这种最佳做法会阻止哪些问题?

2 个答案:

答案 0 :(得分:3)

  1. 头文件应该自行编译。即。用于测试生成一个只包含头文件的.cpp文件。
  2. 头文件应由预处理器保护。如果#ifndef等...
  3. 这两项都将确保订单无关紧要。

答案 1 :(得分:0)

它解决的一个问题是允许.h文件被打印(至少通过我的lint工具)。如果没有.cpp执行.h的包含,我的模板代码就会被跳过。