मेरे पास निम्न टेम्पलेट फ़ंक्शन का उपयोग किसी मानक प्रकार के डेटा को बाइनरी आउटपुट स्ट्रीम में डंप करने के लिए किया जाता है।सी-स्टाइल कास्ट बनाम reinterpret_cast
template<typename T> static void
dump (const T& v, ostream& o) {
o.write (reinterpret_cast<const char*>(&v), sizeof(T));
}
reinterpret_cast के बजाय मैं सी-शैली (कॉन्स char *) का भी उपयोग कर सकता हूं। क्या reinterpret_cast का उपयोग करने के लिए कोई विशेष कारण है? मैंने कुछ अन्य पोस्ट पढ़ीं जहां reinterpret_cast पर फंसे हुए थे। लेकिन उपर्युक्त उपयोग कानूनी है और इसे किसी और चीज़ से बदला नहीं जा सकता है, है ना?
धन्यवाद
मुझे लगता है कि आप ऐसा करने के परिणाम जानते हैं (जिसके परिणामस्वरूप फ़ाइल को उसी आर्किटेक्चर पर एक ही संकलक के साथ उसी विकल्प के साथ संकलित प्रोग्राम द्वारा पढ़ा जा सकता है)। – curiousguy
कोई मुझे यह कहने के लिए पंच करने जा रहा है, लेकिन यदि आप * सी * शैली का उपयोग करना चाहते हैं, तो आप हमेशा एक सामान्य-कट्टरपंथी टिप्पणी छोड़ सकते हैं जिसे आप याद नहीं कर सकते। आपके 'कॉन्स' को सी में भी ढूंढने के लिए * कुछ * तरीका था। ¯ | _ (ツ) _ | ¯ बेशक आपको खतरों को ध्यान में रखना चाहिए, हालांकि। –