【发布时间】:2009-02-09 16:29:59
【问题描述】:
虽然我已经广泛使用 ublas,但我不是 boost 方面的专家。最近,我的主管让我为 gcc 平台构建 boost 正则表达式。我的问题是:
为什么我不能像 ublas 一样使用正则表达式?
请给出详细答案。
【问题讨论】:
-
如果这是您对 boost::regex 的唯一担心,请认为自己有福了我的朋友。
虽然我已经广泛使用 ublas,但我不是 boost 方面的专家。最近,我的主管让我为 gcc 平台构建 boost 正则表达式。我的问题是:
为什么我不能像 ublas 一样使用正则表达式?
请给出详细答案。
【问题讨论】:
我假设“不能按原样使用正则表达式”是指“不必单独构建它”。
简答:uBLAS 是“仅标题”(http://www.boost.org/doc/libs?view=filtered_header-only),而 Regex 不是。
“仅标头”库的实现完全驻留在标头 (.hpp) 文件中。要使用它,只需#include 这些标题。
“non-header-only”(“普通”?)库具有声明库接口的标头,但实现是在 .cpp 文件中,这些文件是单独构建的,然后链接到最终的可执行文件中。在 Boost 中,.cpp 文件通常位于 boost/libs/
【讨论】:
我使用正则表达式进行了一些工作。因为我不太了解它,所以我不得不找到一些关于它的东西(网上冲浪和阅读几本书)。
不仅boost库,标准库也包含正则表达式。
如果您介意使用标准库,我想推荐几本书(Stanley B. Lippman、Josée Lajoie 和 Barbara E. Moo 的 C++ Primer 第五版)。您可以在标准库中找到正则表达式并熟悉它。
【讨论】: