不要给std::regex_xxx函数传递临时std::string对象
std::regex_xxx函数第一个参数接收一个std::string引用类型,而VS2013的编译器允许临时对象传递给引用类型的参数。如果向std::regex_xxx函数传递一个临时std::string对象,后续使用第二个参数std::match_result中的结果时,会导致程序崩溃,可能是因为匹配结果只是保存了基于源串的迭代器,但是使用这些迭代器时,临时对象已经析构了。

本文探讨了向std::regex_xxx函数传递临时std::string对象可能导致的问题。由于编译器允许此类传递,但使用结果时可能会因临时对象已被销毁而导致程序崩溃。
3658

被折叠的 条评论
为什么被折叠?



