91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++序列化實現的方法是什么

c++
小億
93
2024-04-15 09:54:08
欄目: 編程語言

在C++中,可以使用序列化庫(如Boost.Serialization)來實現序列化和反序列化操作。以下是一個簡單的示例:

#include <iostream>
#include <fstream>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>

class Data {
public:
    int id;
    std::string name;
    
    // 序列化函數
    template<class Archive>
    void serialize(Archive & ar, const unsigned int version) {
        ar & id;
        ar & name;
    }
};

int main() {
    // 序列化對象
    Data data;
    data.id = 1;
    data.name = "Alice";
    
    std::ofstream ofs("data.txt");
    boost::archive::text_oarchive oa(ofs);
    oa << data;
    
    ofs.close();
    
    // 反序列化對象
    Data newData;
    
    std::ifstream ifs("data.txt");
    boost::archive::text_iarchive ia(ifs);
    ia >> newData;
    
    ifs.close();
    
    std::cout << "id: " << newData.id << ", name: " << newData.name << std::endl;
    
    return 0;
}

在以上示例中,我們定義了一個簡單的Data類,包含一個整型成員id和一個字符串成員name。Data類中使用了serialize函數來定義如何序列化和反序列化對象。在main函數中,我們創建了一個Data對象并將其序列化到文件"data.txt"中,然后再從文件中反序列化出一個新的Data對象,并輸出其內容。

0
资中县| 定陶县| 蕲春县| 淮安市| 明水县| 鄯善县| 平乐县| 山阴县| 防城港市| 无为县| 榕江县| 太原市| 修武县| 荃湾区| 延寿县| 偃师市| 扎囊县| 军事| 上杭县| 日照市| 乳山市| 孟津县| 金湖县| 富锦市| 巩留县| 仁布县| 连平县| 洞头县| 青河县| 商丘市| 华安县| 洛浦县| 临清市| 昔阳县| 衡阳县| 墨脱县| 岳阳市| 玛沁县| 宝应县| 扎赉特旗| 玉林市|