2010-04-02 64 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