boost::regex 与 std::regex - 找不到empty()方法?

2023-12-30

更换boost::regex with std::regex由于我们在公司使用 gcc 4.6 我遇到了一个问题empty () http://www.boost.org/doc/libs/release/libs/regex/doc/html/boost_regex/ref/basic_regex.html#boost_regex.basic_regex.empty该类的方法 - 它基本上不是从boost::regex into std::regex班级。我不确定这是 gcc 的问题还是这个方法根本没有进入 C++11 标准,但那段代码很大程度上依赖于这个功能。所以问题是 - C++11 有没有办法std::regex检查表达式是否已设置或者我应该坚持boost::regex我的余生?


empty()被删除了std::regex很久以前。N1507 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1507.htm(2003-09-16) 是建议删除它的原始论文(搜索“什么是无效/空正则表达式?”)。这个问题针对的是当时的情况std::tr1:regex。它在 LWG tr1 问题列表中记录为问题 7.28,并包含以下决议:

在科纳进行了讨论。 LWG 同意默认构造函数应该 相当于从空字符串构造。保持此状态打开 现在部分是因为我们需要表达这一点的措辞,部分是因为 因为尚不清楚是否有任何意义empty()首先是成员函数。

N1711 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1711.pdf(2004-11-04) 是第一个 TR1 草案缺少basic_regex::empty()。从那里它从 TR1 导入到 C++11 中,没有进一步讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

boost::regex 与 std::regex - 找不到empty()方法? 的相关文章

随机推荐