在Header中向前声明,在CPP中包含

Forward Declare in Header and Include in CPP?

本文关键字:包含 CPP Header 声明      更新时间:2023-10-16

我已经开始在header中转发声明了。但是,大多数情况下,我只是将#include延迟到相应的cpp文件。

这篇文章让我相信我应该这样做。然而,在实践中,我从未见过其他人的代码中有如此大量的前向声明,并在cpp文件中包含相应的include。

我想知道,如果我误解或过度应用此规则,并在此过程中使我的项目可读性较差。

尽可能使用前向声明是一个好主意,因为它将加快编译时间。大多数人不使用它,因为他们通常不知道,或者他们懒惰,或者他们无知。但是在大型项目中,这将大大增加编译时间。我看不出有什么理由会降低代码的可读性。

看这个问题C/c++前向声明vs. Include
此外,应该使用前向声明而不是包含在任何可能的地方?