2010-07-24 60 views
11

我喜歡通過現有的軟件項目作爲學習和新想法的來源。 這樣做,我發現我認爲不可能的事情最先進的C++項目

在您看來,您已經使用/開發/擴展的最先進的C++項目的狀態是什麼?你能說出爲什麼你認爲它是最先進的,你可以從中學到什麼。

我最新的熱潮是boost :: phoenix,http://www.boost.org/doc/libs/1_43_0/libs/spirit/phoenix/doc/html/index.html,這是非常全面的函數式編程庫。 儘管它的功能很簡單,並且易於擴展。經過一些調整後,我可以寫出多線程的lambda並行循環和數學領域特定的語言,可能在2周內。

什麼是你的? (請不要只說提升,因爲它是巨大的項目收集)

+0

這個問題僅限於開源項目嗎? – Simon 2010-07-24 21:54:08

+0

@Simon好吧,如果你認爲你可以從關閉源項目的文檔中獲得想法,那麼我沒有問題。仍然很高興閱讀實際執行 – Anycorn 2010-07-24 22:04:25

+0

Duplicate:http://stackoverflow.com/questions/109684/what-are-some-examples-of-exceptional-c-open-source-code – gnovice 2010-07-24 22:33:29

回答

3

我個人喜歡看Qt的代碼。我每天都在使用它,但似乎每天都會使用它,我發現了一些新的東西。就總代碼而言,它可能與提升一樣大。但它帶有出色的文檔和示例以及完整的源代碼,並免費用於LPGL & GPL版本。

對於我來說,我喜歡Qt的是它的概念與C#的工作方式相匹配,所以對我來說這是一個相當簡單的轉換回C++的過程。但通過查看他們的代碼,它真的給了我很多方法(儘管不如那麼多)來理解C++中的一些複雜性

+0

「個人而言,我喜歡看Qt代碼「。我同意那個。 Qt 4幫助我發展了自己的編碼風格。 – SigTerm 2010-07-24 22:20:13

1

從我所看到的,我已經學習的代碼源大部分來自相當複雜的第三方軟件庫。 Havok是一個很好的例子,我不僅從中學習了編程實踐和解決方案,而且還進行了一些數學和哲學討論。我還看到了一些其他代碼來源,這些代碼來源還沒有從我已經學會如何解決問題中獲得。

針對AAA標題的遊戲引擎通常傾向於涉及很多複雜的代碼,試圖儘可能多地通過一個硬件來推送。我想這個建議適用於所有試圖實現類似功能的軟件,但是當涉及到這樣的軟件時,我只是潛入了遊戲引擎。 AAA標題的遊戲引擎往往有好的或壞的解決方案來研究,我通常會建議尋找這些。有一些是開源的......我認爲Source/Valve已經在不同的階段發佈了它們。