roc*_*tas 3 c++ regex namespaces g++ tr1
我正在尝试将'TR1'正则表达式扩展用于某些C++字符串解析.我已经读过,<regex>标头和命名空间std :: tr1是必需的
我可以使用<regex>标题编译(虽然它强制我使用标志, -std=c++0x或-std=gnu++0x)
但是,当我尝试std::tr1在程序中使用命名空间时,编译失败并显示tr1"不是命名空间名称"的消息.我不能做的事情,
std::tr1::regex rx("mypattern");
我已经读过自gcc 4.3.0以来一直支持TR1正则表达式.我通过gcc 4.4.5使用g ++.
我错过了什么吗?
但尽管如此,在C++ 11 regex中已经从命名空间std::tr1转移到了std.所以,而不是std::tr1::regex,你应该写std::regex:
std::regex rx("mypattern");
Run Code Online (Sandbox Code Playgroud)
我不知道4.7之前的哪些g ++版本也适用.但这个ideone示例使用g ++ 4.7进行编译.但是,请记住,此编译器版本中未实现正则表达式实现.
| 归档时间: |
|
| 查看次数: |
3680 次 |
| 最近记录: |