std::string line;
これはスローしstd::runtime_error what(): Memory exhausted
ます:
regex_it = boost::sregex_iterator(line.begin(), line.end(), re);
これは正常に機能します。
regex_it = boost::make_regex_iterator(line, re);
パフォーマンスの違いの原因を誰かが知っていますか?boost :: regex libは、Linux上でデフォルトの非再帰モードでコンパイルされます。
編集:また試した
regex_it = boost :: cregex_iterator(line.data()、line.data()+ line.size()、re);
同じ問題。