"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कस्टम डेटा प्रकारों के साथ C++ क्लास को क्रमबद्ध और डिसेरिएलाइज़ कैसे करें?

कस्टम डेटा प्रकारों के साथ C++ क्लास को क्रमबद्ध और डिसेरिएलाइज़ कैसे करें?

2024-11-11 को प्रकाशित
ब्राउज़ करें:847

How to Serialize and Deserialize a C   Class with Custom Data Types?

सी में कस्टम डेटा प्रकार के सदस्यों वाले वर्ग का क्रमांकन कैसे करें?

समस्या

लक्ष्य सी वर्ग को क्रमबद्ध और डिसेरलाइज करना है मैंगो जिसमें कस्टम डेटा प्रकारों के सदस्य शामिल हैं।

कार्यान्वयन

सुझाए गए कार्यान्वयन में निम्नलिखित शामिल हैं कार्य:

std::vector serialize(Mango const& Man);
Mango                deserialize(std::span data);

void serialize_to_stream(std::ostream& os, Mango const& Man);
void deserialize(std::istream& is, Mango& Man);

डेटा प्रकारों के लिए अनुकूलन

सभी प्रासंगिक प्रकारों के लिए अनुकूलन आवश्यक हैं (ValType, funtionMango, MangoType, और Mango सहित):

// Define `do_generate` and `do_parse` functions
// for custom data types.

पोर्टेबिलिटी संबंधी विचार

void serialize_to_stream(std::ostream& os, Mango const& Man) {
    do_generate(std::ostreambuf_iterator(os), Man);
}

void deserialize(std::istream& is, Mango& Man) {
    Man = {}; // clear it!
    std::istreambuf_iterator f(is), l{};
    if (!do_parse(f, l, Man))
        throw std::runtime_error("deserialize");
}

अतिरिक्त नोट्स
  • यह दृष्टिकोण डेटा को विभिन्न प्रक्रियाओं के बीच कुशलतापूर्वक संग्रहीत और स्थानांतरित करने की अनुमति देता है या सिस्टम।

    लाइव उदाहरण:
https://coliru.stacked-crooked.com/a/288829ec964a3ca9

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3