我看到了一些关于如何检测C++项目中不必要的#include文件的问题。这个问题经常让我感到好奇,但我从来没有找到一个令人满意的答案。
如果有一些被包含在C++项目中但未被使用的头文件,那么它们是否是一种负担?我知道这意味着在编译之前,所有头文件的内容都会被复制到被包含的源文件中,这将导致大量不必要的编译。
这种开销会对编译后的目标文件和二进制文件产生多大的影响?
编译器难道不能进行一些优化以确保这种开销不会转移到生成的目标文件和二进制文件中吗?
考虑到我可能对编译器优化一无所知,我仍然想问这个问题,以防有答案。
作为一个使用各种c++库进行工作的程序员,我应该遵循什么样的编程实践来避免这种开销?除了熟悉每个库的工作方式外,还有其他方法吗?