Heim >Backend-Entwicklung >C++ >Können Spirit-Parser mit „auto'-Variablen verwendet werden?
Können Spirit-Parser mit Auto verwendet werden?
auto bracketed_z = '[' >> +qi::char_('z') >> ']';
Beim Zuweisen eines Parsers zu einer Auto-Variablen, wie oben gezeigt, wird der Code stürzt mit einem Segmentierungsfehler ab. Die direkte Übergabe des Parsers an qi::parse() inline funktioniert jedoch einwandfrei.
Nein, Spirit-Parser sind nicht für die Verwendung mit Auto in Spirit V2 vorgesehen.
Die zugrunde liegenden Proto-Ausdrucksvorlagen enthalten Verweise auf Temporäre. Das Zuweisen eines Parsers zu einer Auto-Variable führt dazu, dass der Parser kopiert wird, was zu fehlenden Referenzen führen kann.
Um dieses Problem zu umgehen, können Sie die folgenden Methoden verwenden:
Das obige ist der detaillierte Inhalt vonKönnen Spirit-Parser mit „auto'-Variablen verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!