fut*_*lib 7 c++ header function
最近我开始将越来越多的函数放入头文件中,主要是为了方便起见.但我担心我可能会过度使用它,我的标题充满了包含,我不确定这是不是一个好主意.
将函数移出头文件或将其移入头文件有哪些经验法则?
如果你想知道,我说的是开发应用程序,而不是库.
编辑:
我想从我的角度概述内联(自然)头函数与实现函数的优缺点是有帮助的:
专业内联:
反对内联:
根据这一点,将几乎所有函数放在头文件中似乎是一个好主意,我相信这与STL和Boost正在做的非常接近(尽管这些是库,而不是我的代码).
我最不可侵犯的规则之一:只有头文件中允许内联的函数体.在链接阶段,还有其他任何问题需要解决多个定义问题.
标题应该主要用于声明而不是定义.我对该规则有例外(作为灵活类型),但它们都不涉及非内联函数体.