在a question about header ordering中有一个评价很高的回复,提出以下建议:
良好做法:每个.h文件都应该有一个.cpp,首先包含.hpp。这证明任何.h文件都可以放在第一位。
即使标头不需要实现,也可以创建一个仅包含该.h文件的.cpp,而不是其他内容。
就个人而言,我从来没有遇到过包含没有相应cpp文件的标题的问题。这种最佳做法会阻止哪些问题?
答案 0 :(得分:3)
#ifndef
等... 这两项都将确保订单无关紧要。
答案 1 :(得分:0)
它解决的一个问题是允许.h文件被打印(至少通过我的lint工具)。如果没有.cpp执行.h的包含,我的模板代码就会被跳过。