C++ storage classes in hindi-c++ स्टोरेज क्लासेज क्या है?

हेल्लो दोस्तों आज इस पोस्ट में c++ के बारे में दिया गया है की c++ storage classes in hindi  क्या होता है कैसे काम करता है तो चलिए शुरू करते है

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 किया जाता है

 

c++ storage classes in hindi

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 के लेकर भी कोई प्रश्न हो तो कमेंट करे

Leave a Comment