Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mengulangi Struct dalam C Menggunakan Boost Fusion dan Phoenix?

Bagaimana untuk Mengulangi Struct dalam C Menggunakan Boost Fusion dan Phoenix?

Mary-Kate Olsen
Lepaskan: 2024-10-30 08:46:02
asal
682 orang telah melayarinya

How to Iterate Over a Struct in C   Using Boost Fusion and Phoenix?

Menyalurkan Struct dalam C

Apabila bekerja dengan struct dalam C , anda mungkin menghadapi keperluan untuk mengulangi ahli individu mereka dan mengekstrak nilai mereka. Ini boleh dicapai menggunakan pelbagai kaedah.

Menggunakan Boost Fusion/Phoenix

Pustaka Boost Fusion dan Phoenix menyediakan alatan berkuasa untuk memanipulasi struct. Begini cara anda boleh mengulangi struct menggunakan perpustakaan ini:

<code class="cpp">#include <boost/fusion/adapted/struct.hpp>
#include <boost/fusion/include/for_each.hpp>
#include <boost/phoenix/phoenix.hpp>
using boost::phoenix::arg_names::arg1;</code>
Salin selepas log masuk
<code class="cpp">struct A
{
    int a;
    int b;
    std::string c;
};</code>
Salin selepas log masuk

Untuk menyesuaikan struct untuk digunakan dengan Boost Fusion:

<code class="cpp">BOOST_FUSION_ADAPT_STRUCT(A, (int,a)(int,b)(std::string,c));</code>
Salin selepas log masuk

Dalam fungsi print_struct_value anda, anda boleh sekarang ulangi struct seperti berikut:

<code class="cpp">void print_struct_value(struct A a)
{
    boost::fusion::for_each(a, std::cout << arg1 << "\n");
}</code>
Salin selepas log masuk

Output:

1
42
The Answer To LtUaE
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mengulangi Struct dalam C Menggunakan Boost Fusion dan Phoenix?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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