在C++中有多個源文件到底是什麼?對不起,如果這非常簡單。爲什麼在C++中將類分成多個源文件?
2
A
回答
6
在什麼情況下你的意思是?項目中包含多個標題,或者包含在同一個文件中的多個標題?
儘可能地將代碼分解成不同的文件有助於更容易維護。您不必搜索100,000行代碼以優化一個函數定義,您只需要查看500個代碼即可。另外,它可以加快重新編譯,因爲您可以編譯已更改的文件,然後鏈接到以前的目標文件。
對於特定的C++頭文件,通常每個頭文件只有一個類是一個好主意,因此您將擁有一堆不同的頭文件。再次,這是更加可維護的。
0
我同意。如果代碼被分解成每個文件較小的部分,代碼更容易維護。我曾與許多項目合作,試圖發現問題,當開發人員將多個類放入一個文件時,它變得更加困難。我個人更喜歡將每個課程分成一個單獨的文件,這樣當我查看該項目時,我可以知道課程存在的位置。這留下了混亂的可能性,但是如果命名空間使用得很好,那麼它應該是結構良好的。
1
使用多個源文件來組織代碼可以顯着改善編譯時間,但也可以顯着改善工作流程。它可以讓更多的人同時工作,更少的機會踩到彼此的腳趾。
將類拆分爲多個頭文件並不總是最好的方法,並且通常會導致編譯代碼時出現混淆和問題。
我並不總是建議每個頭文件只有一個類,但每個類只有一個頭。
相關問題
- 1. 爲什麼在一個源文件中有多個類?
- 2. 在Flex中將多個文件拆分成多個文件?
- 3. 宏將java分類爲多個文件
- 4. 爲什麼每個Java源文件有多個字節的代碼類文件?
- 5. 如何將一個C文件分解成多個文件
- 6. 在Ruby on Rails中將一個類拆分爲多個文件
- 7. 爲什麼在C#和ASP.NET MVC中生成多個文件字段的類型文件的HTML幫助器EditorFor?
- 8. 爲什麼將我的模塊分成多個文件會讓它變慢?
- 9. 將文本分類爲多個類別
- 10. 我們如何將葡萄api資源分成多個文件?
- 11. 將python源代碼拆分成多個文件?
- 12. 將代碼分割成多個源文件
- 13. 將文本文件拆分爲多個文件C++
- 14. 爲什麼Gin會在「target/classes」目錄中生成源文件?
- 15. C++ :: #include:多個源文件中的模板類頭文件?
- 16. 分手的ES6類成多個文件
- 17. 在C++中將多個文件壓縮爲單個文件
- 18. 將多個C源文件編譯成一個唯一的目標文件
- 19. 爲什麼我們將一個mysql表分成許多小表?
- 20. 將C#源文件合併爲一個
- 21. 爲什麼聲明/定義必須都在C++模板類的源文件中?
- 22. 將tmux.conf分割成多個文件?
- 23. 文本操作將單個文件中的類拆分爲多個文件
- 24. 將多個文件分類到一個文件中
- 25. 如何在Java中將1個文件程序分解成多個類?
- 26. 在C#中爲部分類生成單獨的文件
- 27. 爲什麼java編譯器爲單個java文件生成多個.class文件?
- 28. 將PDF拆分爲C#中的多個文件
- 29. 如何將Lisp代碼分解爲多個源文件?
- 30. 什麼將aspx文件轉換爲c#
好的,謝謝。我說的是把課程分成多個頭文件,我不知道正確的路要走是什麼,好處是什麼。 – 2010-09-18 04:19:30
@Kevin:在C++中,不可能將一個類分成多個部分。編譯器必須整體看到整個'class Name {...}'。唯一可以移動到不同文件(通常是.cpp文件)的東西是成員函數的主體。 – 2010-09-18 20:11:00