सी ++ में जब मैं new
(या यहां तक कि मॉलोक) करता हूं तो क्या कोई गारंटी है कि वापसी पता एक निश्चित मूल्य से अधिक होगा? क्योंकि ... इस प्रोजेक्ट में मुझे यह पता चलता है कि हर साल 0-1k को एनम के रूप में उपयोग करना उपयोगी होता है। लेकिन मैं ऐसा नहीं करना चाहूंगा यदि कम मूल्य प्राप्त करना संभव हो। ओएस विंडो/लिनक्स और मैक के साथ मेरा एकमात्र लक्ष्य सिस्टम 32 या 64 बिट CPUs है।क्या पॉइंटर गारंटी है> एक निश्चित मूल्य?
क्या मानक पॉइंटर्स के बारे में कुछ भी कहता है? क्या विंडोज या लिनक्स अपने सी रनटाइम के बारे में कुछ भी कहता है और सबसे कम स्मृति पता (राम के लिए) क्या है?
-edit- मैं पता लगाने के लिए अपना new
अधिभार संशोधित करना चाहता हूं कि पता ऊपर है> 1k। मैं std :: समाप्त करता हूं अगर यह नहीं करता है।
आप एनमर्स को पॉइंटर्स के रूप में क्यों उपयोग कर रहे हैं? – Pubby
@ पब्बी: यह सामान्य है (विशेष रूप से दुभाषियों और खेलों में) प्लेटफार्म-विशिष्ट पॉइंटर विशेषताओं पर निर्भर रहने के लिए, आमतौर पर संकेतों को खत्म करने के लिए, उन्हें अतिरिक्त जानकारी प्रदान करने के लिए।संरेखण नियमों के कारण, नीचे तीन बिट मुक्त हैं; इसके अतिरिक्त, 64-बिट सिस्टम में आमतौर पर केवल 48 महत्वपूर्ण बिट्स वाले उपयोगकर्ता स्पेस पॉइंटर्स होते हैं; शेष सभी '1' या' 0' हैं, इसलिए आप 'NaN' का प्रतिनिधित्व करने के लिए सेट अपर बिट्स के साथ 'डबल' के (53-बिट) मंटिसा में एक पॉइंटर पैक कर सकते हैं। फिर कम ऑर्डर झंडे आपको मास्किंग और स्थानांतरण के साथ प्रस्तुतियों के बीच जल्दी से चुनने देते हैं। –
ऐसा प्रतीत होता है कि मुझे केवल 6 बिट्स की आवश्यकता है इसलिए मुझे पहले 1 या 4k की आवश्यकता नहीं होगी :)। –