2015-11-27 5 views
5

क्या कोई अभिन्न प्रकार है जिसमें एक ही आकार और संरेखण सूचक के रूप में है?क्या कोई अभिन्न प्रकार है जिसमें एक ही आकार और संरेखण सूचक के रूप में है?

std::intptr_t और std::uintptr_t हैं, लेकिन मेरा मानना ​​है कि उनके पास एक सूचक के रूप में एक ही संरेखण नहीं है।

+2

इससे क्या फर्क पड़ता है? एक अभिन्न प्रकार के साथ एक सूचक को एलिसिंग वैसे भी अपरिभाषित व्यवहार है। –

+0

@ बेनवोइग मैं ऐसा नहीं कर रहा हूं। इसके बजाय, मैं वर्चुअल मशीन कार्यान्वयन के लिए रनटाइम पर डेटा स्ट्रक्चर लेआउट की गणना कर रहा हूं, और यह आसान है अगर पूर्णांक के पॉइंटर्स के समान लेआउट हो। – rightfold

+0

लेकिन यदि आप रनटाइम पर स्ट्रक्चर लेआउट कर रहे हैं, तो संरेखण कोई समस्या नहीं होनी चाहिए: बस हर जगह स्पष्ट पैडिंग फ़ील्ड जोड़ें जो कि समेकित संरेखण आवश्यकताओं के मामले में है और आपको ठीक होना चाहिए। – rodrigo

उत्तर

4

यह आवश्यक नहीं है कि सभी पॉइंटर प्रकारों का आकार और संरेखण हो, जो किसी भी एकल पूर्णांक प्रकार के लिए सभी सूचक प्रकार के समान आकार और संरेखण के लिए असंभव बनाता है।

कुछ के लिए, ऑब्जेक्ट पॉइंटर्स, फ़ंक्शन पॉइंटर्स और पॉइंटर-टू-सदस्य की अलग-अलग आवश्यकताएं हैं। लेकिन कुछ प्लेटफॉर्म पर, char* और int* के अलग-अलग आकार हैं।

संबंधित मुद्दे

 संबंधित मुद्दे