आप जो करने की कोशिश कर रहे हैं वह क्रमबद्ध है। वस्तुओं को क्रमबद्ध करने का यह तरीका स्थिर नहीं है, और अत्यधिक हवाई अड्डे पर निर्भर करता है। स्पष्ट क्रमिकरण का उपयोग करना बेहतर है।
Here क्या क्रमबद्धता का विवरण है और यह इस तरह क्यों बनाया जाता है। सांत्वना उत्पादन के साथ
struct airport {
std::string name; //you can name your airports here
int planeCapacity;
int acceptPlanesFrom;
MSGPACK_DEFINE(name,planeCapacity,acceptPlanesFrom);
};
...
// define your airports
std::vector<airport> airports;
airport a={"BLA",1,2};
airport b={"BLB",3,4};
airports.push_back(a);
airports.push_back(b);
// create a platform-independent byte sequence from your data
msgpack::sbuffer sbuf;
msgpack::pack(sbuf, airports) ;
std::string data=sbuf.data();//you can write that into a file
msgpack::unpacked msg;
// get your data safely back
msgpack::unpack(&msg, sbuf.data(), sbuf.size());
msgpack::object obj = msg.get();
std::cout<<obj<<std::endl;
// now convert the bytes back to your objects
std::vector<airport> read_airports;
obj.convert(&read_airports);
std::cout<<read_airports.size()<<std::endl;
:
MessagePack में एक ठेठ क्रमबद्धता-अक्रमांकन परिदृश्य इस प्रकार दिखाई देगा
[["BLA", 1, 2], ["BLB", 3, 4]]
2
स्रोत
2013-08-13 11:39:57
यह 'हवाई अड्डे' वर्ग की परिभाषा पर निर्भर करता है। – molbdnilo
कक्षा हवाई अड्डे { int planeCapacity; int स्वीकार करें Pllanes से; // और कुछ अन्य इन्ट्स सार्वजनिक: कन्स्ट्रक्टर .. एक्सेसर विधियों }; यह बात करता है। –
मुझे नहीं पता कि लोगों को क्या लगता है कि आपकी इनपुट फ़ाइल में ऑब्जेक्ट्स के वैध बाइनरी डंप हैं। आपने यह नहीं कहा। अधिकांश उत्तर इस आईएमओ को जोखिम भरा धारणा बनाते हैं। इसके अलावा वे दृष्टिकोण प्रस्तुत करते हैं जो कुछ हद तक वैध थे और 'सी' में उपयोग किए जाते थे लेकिन अप्रचलित है। यदि आप 'सी ++' में हैं और ऑब्जेक्ट्स से निपटना है तो यह जल्द से जल्द बहुत जल्द खत्म हो जाएगा। 'हवाई अड्डे 'में सबसे छोटा बदलाव संगतता को तोड़ देगा। क्या आप बता सकते हैं कि इनपुट फ़ाइल कैसे बनाई गई है? आप वास्तव में भंडारण को जानने के साथ पढ़ने की विधि तैयार नहीं कर सकते हैं। वे दृढ़ता से युग्मित हैं। 'हवाई अड्डे' की परिभाषा भी उपयोगी होगी। – luk32