Maison >développement back-end >C++ >Les analyseurs Spirit peuvent-ils être utilisés avec des variables « auto » ?
Les analyseurs Spirit peuvent-ils être utilisés avec auto ?
auto bracketed_z = '[' >> +qi::char_('z') >> ']';
Lors de l'attribution d'un analyseur à une variable automatique, comme indiqué ci-dessus, le le code plante avec une erreur de segmentation. Cependant, transmettre l'analyseur directement à qi::parse() en ligne fonctionne très bien.
Non, les analyseurs Spirit ne sont pas destinés à être utilisés avec auto dans Spirit V2.
Les modèles d'expression Proto sous-jacents contiennent des références à des temporaires. L'attribution d'un analyseur à une variable automatique entraîne la copie de l'analyseur, ce qui peut entraîner des références pendantes.
Pour contourner ce problème, vous pouvez utiliser les méthodes suivantes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!