永続化するデータが必要なアプリケーションがあるため、オブジェクトのシリアル化について考えました。ここで良い例を見つけました。それに従って、私が思いついたのは次のとおりです。
std::stack <std::string> cards;
cards.push("King of Hearts");
std::ofstream ofs("<location>", std::ios::binary);
ofs.write((char *)&cards, sizeof(cards));
ofs.close();
次に、データを読み取ろうとしています:
std::stack<std::string> inp;
std::ifstream ifs("<same_location>", std::ios::binary);
ifs.read((char *)&inp, sizeof(inp));
ただし、アプリは最後の行でクラッシュします (何らかの理由で、Qt の設定が原因で、現在デバッグできません)。考えられるエラーは何ですか?どうすれば修正できますか?