La sérialisation de la Classe STL
est-il possible de sérialiser un STL classe, y compris std::string? J'ai un jeux de std::les chaînes de caractères et je suis en train de les écrire dans un fichier et de les charger de nouveau dans std::set.
Vous devez vous connecter pour publier un commentaire.
Oui, c'est possible. Avec coup de pouce.la sérialisation, par exemple.
Pour STL, lire correspondant de la section tutoriel
#include <boost/serialization/set.hpp>
ar & str;
- à l'intérieur d'une méthode, ou à l'intérieur d'une fonction.text_oarchive
, il n'y a aucun exemple de comment le faire).Un exemple d'utilisation de boost::serialization pour sérialiser un STL type
Compiler avec
Noter que
#include <boost/archive/text_iarchive.hpp>
doit être avant tout autreboost
sérialisation comprend.Si vous voulez juste écrire un
std::set<std::string>
dans un fichier et de le lire de nouveau, et votre projet n'est pas déjà utiliser Boost, vous pouvez essayer quelque chose de simple:Ce sera tout simplement écrire les cordes, une par ligne dans un fichier texte. Puis de les lire:
vérifier cela . lite assez
STL sérialisation
UN SEUL FICHIER CPP NÉCESSAIRE
Une lite de sérialisation solution
il y a plusieurs lib qui supportent la sérialisation,comme protobuffer, boost:la sérialisation , trop lourd pour moi. j'ai donc écrit cette version lite.
soutien
utilisation char au lieu bool dans la STL
pourquoi
construire
vous pouvez construire ce projet par CMake. ou il suffit d'importer de sérialisation.h dans votre projet.
définir CHECK_ENDIAN=1 si vous voulez vérifier endian
démo
vérifier testSerialization.cpp
comming soom
endian conversion.