使用hpp文件有哪些优缺点

redefined identifier…
■网友
直接把实现写在头文件里的话,你发布之后肯定会因为要修bug或者加功能去修改它。一旦这个头文件被修改了,那所有使用这个头文件的file都要被重新编译。而将实现和头文件分开的话,只要接口在一开始就定义好,那就不需要因为修bug或加功能而修改头文件,用户只要更新一下动态链接库就可以了。
■网友
这边不谈动态链接库.
如果依赖库是源代码链接的,我更喜欢hpp方式,更少的文件,一目了然,且更容易集成.将固定的依赖库整合成一个hpp文件,使用时只需要include即可,不需要配置path等等.
当然,要使用好hpp方式,还有许多其他细节需要注意,比如ifndef,比如命名空间污染,比如全局变量.这边不赘述,问题都可以绕过,如果是小型库,建议直接hpp.
事实上hpp方式更适合模板元编程,编译时多态,源码级链接,需要使用宏来控制编译,这样可以不需要各种cmake nmake工具,更省心.
【使用hpp文件有哪些优缺点】 使用至今未遇到什么大问题.如果碰到循环依赖,就前向声明,然后在cpp中include.


    推荐阅读