Sérialisation des objects C ++

Je voudrais implémenter une classe de sérialisation qui prend un object et le convertit en un stream binary et stocké dans un fichier. Plus tard, l’object doit être reconstruit à partir d’un fichier.

Bien que cette fonctionnalité soit fournie par BinaryFormatter en C #, j’aimerais concevoir ma propre classe de sérialisation à partir de zéro.

Quelqu’un peut-il indiquer des ressources?

Merci d’avance

Je voudrais vous donner une réponse négative. C’est moins utile, mais ça l’est peut-être toujours.

J’utilise la sérialisation boost depuis plusieurs années et ce fut l’une des plus grandes erreurs stratégiques de mon entreprise. Il produit une très grande sortie, il est très lent, il propage tout un tas de dépendances rendant tout ce qui est impossible à comstackr, puis il est difficile de le sortir car il existe des formats sérialisés existants. En outre, il se comporte différemment selon les compilateurs. La mise à niveau de VS2005 à 2010 nous a donc conduits à écrire une couche de compatibilité, ce qui est également difficile, car le code est très difficile à comprendre.

Voici 2 solutions pour la sérialisation C ++:

  • La bibliothèque de sérialisation s11n de Stephan Beal
  • booster la librairie de sérialisation

Personnellement, je n’ai que de l’expérience avec le premier et je n’ai en fait utilisé que des sérialiseurs basés sur du texte, mais je sais qu’il est facile de définir des sérialiseurs binarys à utiliser avec s11n.

Le rédacteur de middleware C ++ peut présenter un intérêt. Il présente des avantages en termes de performances par rapport à la bibliothèque de sérialisation de Boost . Il automatise également la création de fonctions de sérialisation.