Rumah > pembangunan bahagian belakang > C++ > Bolehkah Penghurai Roh Digunakan dengan Pembolehubah `auto`?

Bolehkah Penghurai Roh Digunakan dengan Pembolehubah `auto`?

Patricia Arquette
Lepaskan: 2024-12-02 04:03:09
asal
187 orang telah melayarinya

Can Spirit Parsers Be Used with `auto` Variables?

Menetapkan Penghurai kepada Pembolehubah Auto

Soalan:

Bolehkah penghurai Spirit digunakan dengan auto?

Coretan Kod:

auto bracketed_z = '[' >> +qi::char_('z') >> ']';
Salin selepas log masuk

Apabila memberikan penghurai kepada pembolehubah automatik, seperti yang ditunjukkan di atas, kod ranap dengan kesalahan pembahagian. Walau bagaimanapun, menghantar penghurai terus kepada qi::parse() sebaris berfungsi dengan baik.

Jawapan:

Tidak, penghurai Roh tidak bertujuan untuk digunakan dengan auto dalam Spirit V2.

Penjelasan:

Templat ungkapan Proto asas memegang rujukan kepada sementara. Menetapkan penghurai kepada pembolehubah auto menyebabkan penghurai disalin, yang mungkin mengakibatkan rujukan berjuntai.

Penyelesaian:

Untuk menyelesaikan isu ini, anda boleh menggunakan kaedah berikut:

  • qi::copy() (tersedia dalam batang Boost selepas Boost 1.55.0)
  • boost::proto::deep_copy
  • BOOST_SPIRIT_AUTO

Atas ialah kandungan terperinci Bolehkah Penghurai Roh Digunakan dengan Pembolehubah `auto`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan