будет относительно мала и еще будет работать sso, то проблем быть не должно. Но что, если содержимое уже будет хранится в куче, могут же возникнуть проблемы при десериализации, верно понимаю?
|А как ты сериализуешь? КОд?
protected: friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int version) { ar & boost::serialization::make_binary_object(&myStr, sizeof(myStr) ;, где myStr - поле внутри класса
Нет, это неправильно
Это неправильно. Это ты записываешь в поток бинарный образ строки в памяти. А тебе надо записать ДАННЫЕ строки, а не её бинарный образ в памяти. Обычно это размер строки и сама строка, её байты.
ar & myStr попробуй
т.е. как-то так будет правильно, чтобы конкретно данные записать и не надеяться на sso? ar & boost::serialization::make_binary_object(&myStr.begin(), sizeof(char) * myStr.length());
SSO тут ни при чём, вообще. Это ты должен понять для начала.
На ссо и так нельзя надеяться
это я понимаю. Вообще, пошел дальше покурил мануалов, нашел, что std::string - это serializable тип и можно объекты std::string сериализовать как ar & myStr;
serializable -тип в С++ — это почти ничто.
Обсуждают сегодня