Re: [問題] C++ header file 疑問

作者: druid0214 (Assassin)   2016-06-24 10:47:28
※ 引述《maxi326 (尋找獨立遊戲製作團員!)》之銘言:
: 最近因為要用到一個開源專案, 需要看裡面的C++ code, 本身對C++不熟
: 但越看覺得越疑惑, 本身是有JAVA經驗, 同樣是OOP, 看來想法很不一樣
: C++跟C一樣, 需要header file, 我自己的直覺是這樣
: header負責定義框架, 讓其他人只要看到header, 就知道這個class有些甚麼, 包含
: include了那些其他文件, 類別方法的signature, 等等
: cpp檔案負責實作這些邏輯, 理想情況下, 一個cpp檔只定義一個類別, 並只include自己
: 的header file
: 但實際上, 我看到的source code, header裡面有include一堆文件, cpp檔又include另一
: 堆, 然後header裡面定義不止一個class, 而且還有實作邏輯在裡面. 閱讀起來真的是一
: 種折磨.
: 我想問的是, C++寫成這樣是一種怎樣的pattern? 因為開源專案都有很多人在寫, 如果
: 分散成這樣, 應該很難互相合作才對, 所以這種pattern是代表某種大家認同的設計模式?
: C++的header該負責甚麼內容, 是不是有大家比較公認的pattern?
第一 c家族中最接近java只有C# 如果你看不順眼 請找cs函式庫^^
如果你對C++有興趣 請參考boost
兩個原因 1.STL的擴充TR1跟boost重疊 還算是一種標準
2.cmake是現在主流
從boost這邊可以看到隨便選一個hpp到處是你所說的"問題"
第二 如果要說好的design pattern 頂多還是TDD 所以推薦你看gtest
作者: chchwy (mat)   2016-06-24 23:38:00
答非所問....

Links booklink

Contact Us: admin [ a t ] ucptt.com