Spirit パーサーは auto で使用できますか?
auto bracketed_z = '[' >> +qi::char_('z') >> ']';
自動にパーサーを割り当てる場合変数を使用すると、上に示したように、コードはセグメンテーション違反でクラッシュします。ただし、パーサーを qi::parse() インラインに直接渡すと、正常に動作します。
いいえ、Spirit パーサーは、Spirit V2 の auto で使用することを意図していません。
基礎となる Proto 式テンプレートは、一時変数への参照を保持します。パーサーを auto 変数に割り当てるとパーサーがコピーされ、その結果、ダングリング参照が発生する可能性があります。
この問題を回避するには、次の方法を使用できます。
以上がSpirit パーサーは「auto」変数で使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。