Sérialisation dans Qt
Lorsque vous utilisez la bibliothèque Qt pour la programmation GUI, vous pouvez rencontrer le besoin de sérialiser de grandes situations de mappages de bibliothèques standard. "MyType" est une classe avec des champs de différents types. Quelles fonctionnalités Qt fournit-il pour permettre la sérialisation des mappages ?
Utilisez QDataStream pour la sérialisation
QDataStream peut gérer divers types de données C et Qt, y compris les conteneurs STL. Une liste détaillée des types de données pris en charge peut être trouvée dans la documentation Qt. Afin d'implémenter la sérialisation des types personnalisés, nous devons surcharger les opérateurs << Ce qui suit est une définition de type de données personnalisée qui peut être utilisée avec QDataStream :
class Painting { public: // ... }; QDataStream &operator<<(QDataStream &out, const Painting &painting); QDataStream &operator>>(QDataStream &in, Painting &painting);</p> <p>En surchargeant l'opérateur <<, nous pouvons écrire des données personnalisées dans le flux : </p><pre class="brush:php;toolbar:false">QDataStream &operator<<(QDataStream &out, const Painting &painting) { // ... return out; }
En surchargeant l'opérateur >>, nous pouvons lire les données personnalisées du flux :
QDataStream &operator>>(QDataStream &in, Painting &painting) { // ... return in; }
En surchargeant ces opérateurs, nous pouvons combiner de manière transparente les types personnalisés avec Used avec QDataStream pour implémenter la sérialisation du mappage et désérialisation.
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!