Andrey Golubev Asked:2020-06-29 16:48:48 +0000 UTC2020-06-29 16:48:48 +0000 UTC 2020-06-29 16:48:48 +0000 UTC 我应该使用 include-s 创建一个标题吗? 772 如果项目被分成很多文件,描述某个抽象类的不同继承者,那么你需要使用所有这些继承者的文件在开始时会有很多include-s。 是否值得创建另一个标题,其中只有所有这些继承人的包含列表并且已经包含它? 或者也许值得将所有继承人移动到描述抽象父类的同一个文件中? 还是保持原样,在文件中使用所有继承人的一长串include-s? c++ 1 个回答 Voted Best Answer Andrej Levkovitch 2020-06-29T17:10:52Z2020-06-29T17:10:52Z 恕我直言,您不应该创建单独的标头,或者此外,不应包含抽象类的继承者。如果第一个只是另一个文件,只需要在 cpp 中包含一个而不是几个,那么第二个有两个问题:1)一个抽象类和一个它不需要知道的抽象类后继者,其实只是一个接口;2) 这会显着影响编译时间,因为每个包含都完全由预处理器添加到 cpp,以及其中包含的所有包含。因此,恕我直言,一个好的做法是在 cpp 文件中仅包含必要的标头,并且在标头中,如果可能的话,使用预先声明。
恕我直言,您不应该创建单独的标头,或者此外,不应包含抽象类的继承者。如果第一个只是另一个文件,只需要在 cpp 中包含一个而不是几个,那么第二个有两个问题:1)一个抽象类和一个它不需要知道的抽象类后继者,其实只是一个接口;2) 这会显着影响编译时间,因为每个包含都完全由预处理器添加到 cpp,以及其中包含的所有包含。因此,恕我直言,一个好的做法是在 cpp 文件中仅包含必要的标头,并且在标头中,如果可能的话,使用预先声明。