我不是一个Boost专家,虽然我已经广泛使用过uBlas。最近,我的主管要求我为gcc平台构建boost正则表达式。我的问题是:
为什么我不能像使用ublas一样使用正则表达式?
请提供详细答案。
我不是一个Boost专家,虽然我已经广泛使用过uBlas。最近,我的主管要求我为gcc平台构建boost正则表达式。我的问题是:
为什么我不能像使用ublas一样使用正则表达式?
请提供详细答案。
我假设你说的“不能像现在这样使用正则表达式”是指“无需单独构建它”。
简短回答:uBLAS 是“仅头文件”(http://www.boost.org/doc/libs?view=filtered_header-only),而 Regex 不是。
一个“只有头文件”的库的实现全部都在头文件(.hpp文件)中。要使用它,只需要包含这些头文件。
"非头文件"(“常规”?)库具有声明库接口的头文件,但其实现位于 .cpp 文件中,这些文件会单独构建,然后链接到最终可执行文件中。在 Boost 中,.cpp 文件通常位于 boost/libs/
我使用了正则表达式来做某件事情。由于我对它不是很了解,我不得不在网上搜索和阅读一些书来了解它。
不仅 Boost 库,标准库也包含了正则表达式。
如果你介意使用标准库,我想推荐几本书(《C++ Primer 第五版》Stanley B. Lippman、Josée Lajoie和Barbara E. Moo著)。你可以在标准库中找到正则表达式,并熟悉它。