14

对于有用的数据结构和操纵器(例如,和)以及实用程序(例如,,和) ,我都非常依赖Python 的标准库,以跳过样板文件并完成工作。翻阅有关 C++ 标准库的文档,它似乎完全是关于数据结构的,几乎没有 Python 标准库中“包含的电池”的方式。collectionsitertoolsoptparsejsonlogging

Boost 库是我所知道的唯一一个类似于 Python 标准库的开源 C++ 库集合,但是虽然它确实具有正则表达式支持等实用程序库,但其中大部分也专用于数据结构。我真的很惊讶,即使是像保证解析和编写 CSV 文件这样简单的事情,使用Pythoncsv模块变得非常简单,看起来也需要在 C++ 中自行滚动(即使您利用 Boost 的一些解析库)。

是否还有其他提供“电池”的 C++ 开源库?如果没有,作为 C++ 程序员,你会做什么:寻找单独的实用程序库(如果是,如何),或者只是自己开发(这看起来很烦人且浪费)?

4

5 回答 5

5

Poco 库更像其他语言的标准库。

实际上,Poco 网站的徽标上写着“ C++ 现在随附电池! ”,这似乎正是您所要求的。

当我尝试时我不喜欢它,因为我发现它太像 C 并且在部分之间有太多的依赖关系(很难挑出你想要的功能)。

但是有很多人和公司在使用它,所以看起来我是少数,你可能会发现它非常有用。

此外,正如其他人所提到的,对于数据结构、解析器以及 Python 的接口!等等,请查看Boost

干杯&hth.,

于 2010-12-16T21:11:52.693 回答
4

尽管 C++ 确实提供了许多由 OO 扩展的便利,但它保留了一个非常简单的标准库。C++ 有 STL 和 Boost。这些非常好,并且不仅仅是数据结构。

如果您需要这些用于原型设计或制作应用程序的高阶函数,而没有强烈的(相对术语)速度要求,那么 C/C++ 可能不是您的正确选择。我相信您会发现,对于大多数项目来说,高级语言的速度足以满足您的需求。如果您正在开发一个需要 C/C++ 速度(以及伴随的标准偏差)的应用程序,那么您可能应该花时间仔细挑选您将使用的每个单独的库。

于 2010-12-16T21:10:49.593 回答
1

http://beta.boost.org/community/sandbox.html

http://www.boostpro.com/vault/

你也可以用谷歌搜索“boost+bar”,例如

于 2010-12-16T21:05:53.687 回答
1

http://www.boost.org/doc/libs/1_45_0/?view=categorized

Boost 不仅仅是数据结构——它有很多你想要的电池——解析、线程、集合、日志记录等。

于 2010-12-16T21:07:47.450 回答
0

使用 C 和 C++,您通常不会找到“做所有事情”的库,而是您将使用单独的库来做不同的事情。您可以使用一个进行 JSON 解析的库、一个进行加密的库、一个进行日志记录的库等。

Boost 和 Qt 是唯一更像“全能”类型库的库。

于 2010-12-16T21:13:20.240 回答