Python 标准库的 C / C++ 等效项

问题描述 投票:0回答:6

我严重依赖Python的标准库,无论是有用的数据结构和操纵器(例如,

collections
itertools
)还是实用程序(例如,
optparse
json
)和
logging
),跳过样板文件并直接完成任务。浏览 C++ 标准库的文档,它似乎完全是关于数据结构的,几乎没有涉及 Python 标准库中的“电池”。

Boost 库是我所知道的唯一一个类似于 Python 标准库的开源 C++ 库集合,然而,虽然它确实具有正则表达式支持等实用程序库,但其中大部分也专用于数据结构。我真的很惊讶,即使是像保证解析和编写 CSV 文件这样简单的事情,使用 Python

csv
模块 变得非常简单,看起来也需要在 C++ 中自行实现(即使你利用了一些解析) Boost 库)。

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

c++ python standard-library std
6个回答
5
投票

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

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

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

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

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

干杯,


4
投票

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

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



1
投票

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

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


0
投票

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

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


0
投票

考虑使用 Cython,它是一种从 python 语法代码编译 C 代码的方法。它具有 C 级速度,允许使用 python 库,并且可以导入到 python 应用程序的其他部分。

Cython

© www.soinside.com 2019 - 2024. All rights reserved.