回答
什麼是這些文件夾的目的是什麼?
這些只是接口的私有實現嗎?
基本上,是的。正是在這種情況下,Boost和標準庫的實現通常會放入不屬於它們公開接口的部分的東西,但需要通過公共接口的實現來訪問。
你怎麼知道這裏屬於什麼?
這是一個難以回答的問題,因爲這意味着您可以從外部查看,得出關於這些目錄中的東西應該放在哪裏的結論。您應該將這些目錄視爲「內部無用戶可服務部件」的類比。你可以查看和徘徊,但你永遠不知道你會發現什麼,它甚至可以在Boost或C++環境的版本之間改變。
在這些目錄中直接在應用程序中使用頭文件是非常氣餒,並會導致不可移植的代碼,可以通過甚至輕微的升級突破,以提高或C++編譯器。
說了這麼多,沒有理由不能將這些目錄裏面探索,看東西引擎蓋下是如何工作的!
這實際上是有道理的。謝謝你的直接答覆。 – Todd 2014-11-06 22:22:09
details文件夾是一種抽象技術,用於將不在您模塊的公共API中的成員移動到子名稱空間和子文件夾中以隱藏成員開發人員可能不關心的成員,並用於實現Private實施(pimpl)設計模式;由一個助推頭Herb Sutter發明的一種模式。 pimpl模式使用共享對象模型來創建跨平臺的pimpls,這些pimpls使用.ipp文件和大幅減慢編譯器的轉發聲明來實現boost(即impl)。 Piml主要用於處理依賴於系統時鐘,定時器,鎖,線程,圖形,音頻或自定義硬件等硬件和操作系統相關設備。
詳細文件夾和命名空間應該添加因爲它們使您的API更清潔,更模塊化,但有更清潔,更簡單,更優雅,符合UML的解決方案,並且PIMPL設計模式存在許多問題,使其無法實現最佳實踐。其中一些原因是:
- 詳細信息的文件夾和命名空間結構需要更多的手工勞動和時間的工作。
- Piml不符合UML標準,不適合測試驅動開發。
- Pimpl顯着減慢編譯器。
- 詳細信息文件夾和命名空間創建一個混亂的依賴關係圖與耦合問題。
- 以上原因增加了軟件開發的成本。
- Pimpl不需要編寫可移植的跨平臺和跨語言代碼。
- 有一個乾淨的公共API只是Doxygen設置,命名約定和文件組織問題。
有關詳細解釋爲什麼您不應該使用詳細信息文件夾,請登錄Kabuki Toolkit Application Framework。
- 1. 什麼是KeyboardEvent#細節?
- 2. symfony/plugins文件夾中的.channels和.registry文件夾是什麼?
- 3. 什麼是文件夾API?
- 4. .idea文件夾是什麼?
- 5. 什麼是EXT2文件系統結構細節?
- 6. 實現細節的定義是什麼?
- 7. 什麼是實現細節的枚舉?
- 8. `impl`在Kotlin中的含義是什麼?
- 9. 什麼是Django呈現文件夾和文件樹的方式?
- 10. PE文件格式 - 節表和第一節之間是什麼?
- 11. CakePHP文件夾結構 - 這是什麼使用庫文件夾?
- 12. www文件夾和htdocs文件夾有什麼區別?
- 13. 源文件夾和(普通)文件夾有什麼區別
- 14. 什麼是.git/branches文件夾用於?
- 15. 什麼是.link_to_grails_plugins文件夾用於?
- 16. 什麼是obj文件夾生成?
- 17. 什麼是Xcode中的_ _Tests文件夾
- 18. 什麼是「Temporary ASP.NET Files」文件夾?
- 19. 什麼是Programdata/Application Data文件夾?
- 20. 什麼是Oradiag_ <user>文件夾?
- 21. 臨時exe文件夾是什麼?
- 22. 什麼是jni/libs文件夾?
- 23. 什麼是JavaMail文件夾類型3?
- 24. Python - 什麼是libs子文件夾?
- 25. cordova:platform_www文件夾的用途是什麼?
- 26. 檢查文件夾是否爲空(什麼是「。」和「..」)
- 27. onEdit事件的細節應該是什麼?
- 28. 什麼是GWT字節緩存文件?
- 29. 什麼是使用c複製文件夾和所有子文件夾和文件的最佳方式#
- 30. 什麼是思傑\ System32文件夾,它是如何從System32文件夾
這就是爲了讓你擁有閃亮的公共接口而需要的所有骯髒的管道,是的。但是,找出你自己,你猜猜看,有人對這個問題的贊同並不能真正幫助你學習任何東西。 (只有看看你是否想知道如何實現這樣的東西。) – Deduplicator 2014-11-05 17:46:58
你應該只關心文檔告訴你擔心的頭文件。 – 2014-11-05 17:47:45
@remyabel:當然,但可以好奇(問)。有時候,你不必擔心它們(比如在一個bug的(罕見)情況下,你必須挖掘事物的膽量)。 – Cornstalks 2014-11-05 17:48:48