C / C ++与Python标准库的等价物

时间:2010-12-16 21:00:13

标签: c++ python standard-library c++-standard-library

我非常依赖Python's standard library,无论是有用的数据结构还是操纵器(例如collectionsitertools)和实用程序(例如optparse,{{3 }}和json),跳过样板并完成Get Things Done。查看有关C ++标准库的文档,它似乎完全与数据结构有关,而在Python标准库中几乎没有“包含电池”。

Boost库是我所知道的唯一类似于Python标准库的开源C ++库集合,但是虽然它确实有实用程序库,例如正则表达式支持,但它的大多数也专用于数据结构。我真的很惊讶,即使是确保解析和编写CSV文件这样简单的事情,使用logging变得非常简单,看起来需要在C ++中自己滚动(即使你利用了一些解析库)增压)。

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

5 个答案:

答案 0 :(得分:5)

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

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

当我尝试时我不喜欢它因为我发现它太像C而且部件之间有太多的依赖关系(很难单独输出你想要的功能)。

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

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

干杯&第h。,

答案 1 :(得分:4)

虽然C ++确实提供了OO扩展的许多舒适,但它保留了一个非常简单的标准库。 C ++有STL和Boost。这些非常好,而且只有数据结构。

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

答案 2 :(得分:1)

答案 3 :(得分:1)

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

Boost不只是数据结构 - 它拥有你想要的大量电池 - 解析,线程,集合,日志记录等。

答案 4 :(得分:0)

使用C和C ++,您通常不会找到“全部”库,而是使用可以执行不同操作的单个库。您可以使用一个执行JSON解析的库,一个执行加密的库,一个执行日志记录的库等。

Boost和Qt是唯一一个更像是“做全部”类型库的人。