2010-04-02 62 views
6

我來自.Net背景的C++。知道如何使用標準C++庫和所有語法,我從來沒有進一步冒險。現在我正在尋找更多的東西,比如常用的庫是什麼?我想開始進入線程化,但不知道要開始。有沒有一個庫(類似於.net的System.Threading),這會讓它更容易一些?我特別期待基於Linux的網絡編程。類似於C#的C++庫嗎?

回答

10

對於C++,Boost是你的一切。它提供的東西包括Threadingnetworking。但還有更多:

  • 智能指針
  • 在STL沒有發現
  • 有用的容器,如固定大小的數組和是散列表
  • 瓶蓋
  • 日期/時間類
  • foreach構造
  • 最小/最大功能
  • 命令行選項解析
  • Regular expre小部件
2

如果您正在研究網絡編程並且對GUI不感興趣,我建議使用Boost庫:特別是Asio

1

沒有標準的多線程庫,但boost庫包含獨立於平臺的多線程抽象,效果很好。

7

正如其他人所說,Boost是偉大的。除了大量的其他東西外,它還實現了C++ Technical Report 1,其中包括一些令人興奮的template metaprogramming技巧。

對於Boost沒有提供的其他跨平臺功能,我有一個名爲Poco的圖書館非常幸運。例如,我曾參與過其中包含簡單HTTP服務器的商業項目,它對我們非常好。

+1

+1因爲波科是非常好的,這是令人厭煩的是提升爲默認值,以便回答每一個C++的問題。 – Duck 2010-04-02 16:54:29