हेल्लो दोस्तों आज इस पोस्ट में c++ के बारे में दिया गया है की c++ storage classes in hindi क्या होता है कैसे काम करता है तो चलिए शुरू करते है
Contents
C++ storage classes का परिचय
C++ में variables को अलग अलग storage के classes(categories) होती है अलग अलग storage classes के variables को अलग अलग तरीके से store और process किये जाते है
storage classes को programmer को variables के storage ,visibility और scope को control provide करती है programmer अपनी आवश्यकता के अनुसार ही किसी भी storage class का variable को create कर सकते है
एक storage class के माध्यम से compiler को variables के बारे में आपको निचे दी जा रही जानकारी प्राप्त होती है
- storage-storage classes के द्वारा compiler को पता चलता है की variable को कहा और कैसे store किया जायेगा
- initial value-storage classes के माध्यम से compiler को variable की initial(शुरुआत) value को पता चलती है की initial value वह value होती है जो variable को create होते ही उसे उसकी class के अनुसार automatically assign हो जाती है अलग अलग होती है
- scope-storage classes के माध्यम से compiler को variables का scope का भी पता चलता है की अलग अलग storage classes के variables का scope अलग अलग होता है
life time- storage class के माध्यम से compiler को variables का life time का भी पता चलता है की किसी भी variable का life time वह period होता है जब तक की वह में रहता है storage classes के according सभी variables का life time अलग अलग होता है
C++ में आपको निचे दी जा रही storage classes available है
- auto
- register
- static
- extern
- mutable
इन सभी के storage classes के बारे में आपको आगे detail से बताया जा रहा है
auto(automatic)
auto storage class के variable का scope को local होता है सभी local variable को auto variables होते है या फिर आप यह भी कह सकते है की सभी local variables की default storage class ही auto होती है
auto class के variables की default value को garbage होती है auto variables को RAM में store किये जाते है
auto class के variable का life time function तक ही सिमित होता है जैसे की function का execution समाप्त होता है variables को मेमोरी से remove कर दिया जाता है
auto class के variables को auto keyword के द्वारा ही create किया जाता है इसका आपको general syntax आपको निचे दिया जा रहा है
auto data-type variable-name=value;
जैसे की आपको उपर बताया गया है की by default सभी local variables को auto class के होते है इसलिए variables को create करते समय आपको auto keyword का प्रयोग करने की आवश्यकता नहीं होती है जब आप ऐसे करते है तो compiler के द्वारा warning को दिखाए देता है यह special condition में प्रयोग किया जाता है
register
- auto storage class की ही तरह register storage class के variables का scope local होता है initial value को garbage होती है और इनका lifetime function को blocks ही होती है
- लेकिन register variables को CPU register में store किया जाता है जो register CPU का ही हिस्सा होता है register को RAM से भी अधिक speed से access किया जा सकता है
- जब आप register variables को create करते है तो इस बाद की कोई गारंटी नहीं होती है की variables register में ही store होगा यह तो सिर्फ एक request होती है जो बताती है की यदि program को run करते समय CPU registers को free है तो variables को registers में ही store किया जाना चाहिए
- register variables का एक drawback यह है की आप register variables के pointer नहीं create कर सकते है register variables को मेमोरी में store नहीं होते है इसलिए इनका कोई मेमोरी address नहीं होता है इसलिए आप इनके pointer variables को नहीं create कर सकते है
register variables को create करने का general syntax आपको निचे दिया जा रहा है
register-keyword data-type variable-name;
जैसे की आप उपर दिए गए syntax में आप देख सकते है की register variables को register keyword के द्वारा ही डिफाइन किया जाता है
जब आपको किसी variables का program में frequently का प्रयोग करना हो तब आपको उसे register storage class के साथ ही डिफाइन करना चाहिए
static
static storage class के variables का scope local होता है और इनकी initial values को zero होती है static variables का lifetime को complete program का execution होता है यानी की जब तक पूरा program को execute होती है तब तक static variable को मेमोरी में रहता है
हलाकि static variables का life time complete program का execution होता है लेकिन इन variable को केवल उन्ही functions को blocks के द्वारा प्रयोग किया जा सकता है जिनके द्वारा इन्हे create किया गया है
static variables को create करने का general syntax आपको निचे दिया जा रहा है
static-keyword data-type variable-name;
static variables को static keywords के द्वारा create किया जाता है
extern(extenal)
extern storage class के variable का scope global होता है और इनकी initial value zero से होती है extern variables का lifetime को complete program के execution होता है
extern-keyword data-type variable-name;
extern variable को program के बाहर ही extern keyword के द्वारा ही declare किया जाता है extern variable को सभी program फाइल्स में access किया जा सकता है extern variables को declare करते समय आप उन्हें ही initialize नहीं कर सकते है
mutable
mutable storage class को सिर्फ class objects के साथ ही प्रयोग की जाती है mutable variable(object) की initial value को zero होती है एस्नक आपको scope local होता है और इनका lifetime वह class होती है जिनके सन्दर्भ में इन्हे डिफाइन किया जाता है
जैसे की आपको पता है की constant variable को modify नहीं किया जाता है उसी प्रकार से constant के object के data को members को भी नहीं change किया जा सकता है लेकिन यदि कोई data member(variable) mutable को declare किया गया है तो उसे ही constant object के द्वारा change किया जाता है
mutable variable को create करने का general syntax आपको निचे दिया जा रहा है
mutable-keyword data-type data-member-name;
mutable के variable को mutable class के साथ ही declare किया जाता है
reference-https://www.tutorialspoint.com/cplusplus/cpp_storage_classes.htm
c++ storage classes in hindi
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c++ storage classes in hindi) अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये अगर कोई topic(c++ storage classes in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे