c++ - 如何避免包含文件由于模板类而传播
问题描述
由于在头文件中实现了模板类,因此我必须在头文件中包含用于实现该类的其他包含。
因此,每次我包含我的模板类时,都会带来所有其他的包含等等。
这可能会导致包容性的过度传播,甚至对于上下文而言是不必要的。
那么处理这个问题的最佳方法是什么?
编辑:因为我没有明确提到它,所以我不是在谈论前向声明可以像在正常的 .h/.cpp 分离中那样解决它的情况,但是当你必须包含标题时,因为你没有有cpp,你必须在.h中使用它
编辑 2:假设我的模板类有一个函数,该函数依赖于第三个类库。现在,使用我的模板类的每个类都具有相同的依赖关系,或者可以访问我都不想访问的那个标题。是否存在避免这种情况的方法?
解决方案
在适当的地方使用前向声明而不是#include。头文件应该只包含需要的部分,其余部分应该放在源文件中。
推荐阅读
- python - GCP Pub/Sub Push Endpoint 在请求参数中找不到谷歌域验证令牌
- driver - 在 Ubuntu 18.04 和英特尔 XL710 上安装 DPDK
- postgresql - 如何在laravel中显示这样的数据
- java - 复利如何计算频率
- javascript - Firebase:为什么`onAuthStateChanged`总是返回一个用户?
- r - 从循环中引用较大列表中的列表
- groovy - 如何使用 groovy 执行 spock 规范并生成 junit xml 文件
- javascript - 需要窗口调整大小事件来计算高度
- python - how can i remove div tag with all child with python and beautifullsoup
- python - 在 DataFrame 中插入列表时出现问题,一列消失