Bagaimana untuk menyusun peta perpustakaan standard yang besar dengan jenis tersuai menggunakan Qt?

DDD
Lepaskan: 2024-11-07 06:57:02
asal
345 orang telah melayarinya

How to serialize a large standard library map with custom types using Qt?

Serialization dalam Qt

Apabila menggunakan pustaka Qt untuk pengaturcaraan GUI, anda mungkin menghadapi keperluan untuk mensirikan situasi pemetaan perpustakaan standard yang besar. "MyType" ialah kelas dengan medan pelbagai jenis. Apakah ciri yang disediakan oleh Qt untuk mendayakan siri pemetaan?

Gunakan QDataStream untuk bersiri

QDataStream boleh mengendalikan pelbagai jenis data C dan Qt, termasuk bekas STL. Senarai terperinci jenis data yang disokong boleh didapati dalam dokumentasi Qt. Untuk melaksanakan siri jenis tersuai, kami perlu membebankan operator << Berikut ialah definisi jenis data tersuai yang boleh digunakan dengan QDataStream:

class Painting
{
public:
    // ...
};

QDataStream &operator<<(QDataStream &out, const Painting &painting);
QDataStream &operator>>(QDataStream &in, Painting &painting);</p>
<p>Dengan melebihkan operator <<, kami boleh menulis data tersuai ke strim: </p><pre class="brush:php;toolbar:false">QDataStream &operator<<(QDataStream &out, const Painting &painting)
{
    // ...
    return out;
}
Salin selepas log masuk

Dengan melebihkan operator >>, kami boleh membaca data tersuai daripada strim:

QDataStream &operator>>(QDataStream &in, Painting &painting)
{
    // ...
    return in;
}
Salin selepas log masuk

Dengan melebihkan operator ini, kami boleh menggabungkan jenis tersuai dengan lancar dengan Digunakan bersama-sama dengan QDataStream untuk melaksanakan siri pemetaan dan penyahserikatan.

Atas ialah kandungan terperinci Bagaimana untuk menyusun peta perpustakaan standard yang besar dengan jenis tersuai menggunakan Qt?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!