प्रोग्रामिंग

सी++ ट्यूटोरियल फॉर बिगिनर्स

30 अक्टूबर, 2021

विषयसूची

सी++ क्या है?

C++ एक क्रॉस-प्लेटफ़ॉर्म भाषा है जिसका उपयोग उच्च-प्रदर्शन एप्लिकेशन बनाने के लिए किया जाता है। बर्जने स्ट्रॉस्ट्रुप ने इसे सी भाषा के विस्तार के रूप में विकसित किया। C++ प्रोग्रामर्स को सिस्टम रिसोर्सेज और मेमोरी पर नियंत्रण देता है। भाषा को 2011, 2014 और 2017 में तीन महत्वपूर्ण बार C++11, C++14, और C++17 में अपडेट किया गया था।

सी++ का प्रयोग क्यों करें

  • C++ प्रोग्रामिंग के लिए सबसे लोकप्रिय भाषाओं में से एक है।
  • सी ++ ऑपरेटिंग सिस्टम, जीयूआई, और एम्बेडेड सिस्टम में पाया जा सकता है।
  • यह एक वस्तु-उन्मुख प्रोग्रामिंग भाषा है जो कार्यक्रमों को एक स्पष्ट संरचना प्रदान करती है और कोड को पुन: उपयोग करने की अनुमति देती है, जिससे विकास लागत कम हो जाती है।
  • यह पोर्टेबल है और इसका उपयोग उन अनुप्रयोगों को विकसित करने के लिए किया जा सकता है जिन्हें कई प्लेटफार्मों में अनुकूलित किया जा सकता है।
  • चूंकि सी ++ सी # के करीब है और जावा , यह प्रोग्रामर के लिए C++ या इसके विपरीत स्विच करना आसान बनाता है।

विशेषताएं

    सरल: C++ एक सरल भाषा है क्योंकि यह कार्यों, डेटा प्रकारों आदि के समृद्ध सेट के लिए एक संरचित दृष्टिकोण प्रदान करती है।पोर्टेबल: असेंबली भाषा के विपरीत, बहुत सी मशीनों में बहुत कम या बिना किसी बदलाव के c प्रोग्राम निष्पादित किए जा रहे हैं। लेकिन यह प्लेटफॉर्म-स्वतंत्र नहीं है।मिड-लेवल प्रोग्रामिंग लैंग्वेज: C++ का प्रयोग निम्न-स्तरीय प्रोग्रामिंग करने के लिए किया जाता है। इसका उपयोग कर्नेल, ड्राइवर आदि जैसे अनुप्रयोगों को विकसित करने के लिए किया जाता है। यह उच्च-स्तरीय भाषा की विशेषता का भी समर्थन करता है।संरचित प्रोग्रामिंग भाषा: C++ एक संरचित प्रोग्रामिंग भाषा है क्योंकि आप फंक्शन्स का उपयोग करके प्रोग्राम को भागों में विभाजित कर सकते हैं।समृद्ध पुस्तकालय: C++ इनबिल्ट फंक्शन प्रदान करता है जो विकास को तेज करता है।स्मृति प्रबंधन: यह आपको गतिशील स्मृति आवंटन की सुविधा प्रदान करता है। आप फ्री () फ़ंक्शन को कॉल करके आवंटित मेमोरी को मुक्त कर सकते हैं।स्पीड: C++ भाषा का संकलन और निष्पादन समय तेज है।सूचक: C++ पॉइंटर्स की सुविधा प्रदान करता है। आप पॉइंटर्स का उपयोग करके सीधे मेमोरी के साथ इंटरैक्ट कर सकते हैं।प्रत्यावर्तन: सी ++ में, आप फ़ंक्शन के भीतर फ़ंक्शन को कॉल कर सकते हैं। यह प्रत्येक फ़ंक्शन के लिए कोड पुन: प्रयोज्य प्रदान करता है।एक्सटेंसिबल: सी ++ भाषा एक्स्टेंसिबल है क्योंकि यह नई सुविधाओं को जल्दी से अपना सकती है।वस्तु के उन्मुख: C++ एक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। ओओपी रखरखाव और विकास को आसान बनाता है, जबकि प्रक्रिया-उन्मुख प्रोग्रामिंग भाषा में, यह आसान नहीं है प्रबंधित करें कि कोड प्रोजेक्ट के रूप में बढ़ता है आकार बढ़ता है।संकलक आधारित: यह एक कंपाइलर-आधारित प्रोग्रामिंग भाषा है। सबसे पहले, आपको एक कंपाइलर का उपयोग करके प्रोग्राम को संकलित करने की आवश्यकता है, और फिर आप प्रोग्राम चला सकते हैं।

स्थानीय पर्यावरण सेटअप

यह अच्छा होगा यदि आपके कंप्यूटर में निम्नलिखित सॉफ्टवेयर हों।

    सी++ कंपाइलर

यह एक वास्तविक सी ++ कंपाइलर है, जिसका उपयोग आपके स्रोत कोड को अंतिम निष्पादन योग्य प्रोग्राम में संकलित करने के लिए किया जाएगा। अधिकांश C++ कंपाइलर इस बात की परवाह नहीं करते हैं कि आप अपने सोर्स कोड को कौन सा एक्सटेंशन देते हैं। सबसे अधिक इस्तेमाल किया जाने वाला कंपाइलर GNU C/C++ कंपाइलर है।

    पाठ संपादक

इसका उपयोग सॉफ्टवेयर द्वारा टाइप करने के लिए किया जाता है। उदाहरणों में विंडोज नोटपैड, ओएस एडिट, शॉर्ट, एप्सिलॉन, ईएमएसीएस और विम या VI कमांड शामिल हैं। संपादक के साथ आपके द्वारा जेनरेट की जाने वाली फ़ाइलों को स्रोत फ़ाइलें कहा जाता है, और C++ फ़ाइलों को .cpp, .cp, या .c के रूप में संदर्भित किया जाता है। अपनी C++ प्रोग्रामिंग शुरू करने के लिए, एक टेक्स्ट एडिटर होना चाहिए।

    मूल वाक्य रचना

आइए अब देखें कि क्लास, ऑब्जेक्ट, मेथड्स और इंस्टेंस वेरिएबल्स का क्या मतलब है।

    वस्तु-वस्तुओं में राज्य और व्यवहार होते हैं। उदाहरण: एक बिल्ली की स्थितियाँ होती हैं - रंग, नाम, नस्ल और क्रियाएँ - डगमगाना, म्याऊ करना, खाना। एक वस्तु वर्ग का एक उदाहरण है।कक्षा- एक वर्ग को एक ब्लूप्रिंट के रूप में परिभाषित किया जाता है जो व्यवहार का वर्णन करता है / बताता है कि इसके प्रकार का एक ऑब्जेक्ट समर्थन करता है।तरीकों- एक तरीका व्यवहार है। एक वर्ग में कई विधियाँ हो सकती हैं। उन तरीकों में जहां तर्क लिखा जाता है, डेटा में हेरफेर किया जाता है, और क्रियाओं को निष्पादित किया जाता है।आवृत्ति के चर- प्रत्येक वस्तु में आवृत्ति चर का एक अनूठा संग्रह होता है। एक इकाई की स्थिति इन उदाहरण चरों को निर्दिष्ट मानों से उत्पन्न होती है।

उदाहरण

|_+_|

आउटपुट

|_+_|

आइए ऊपर उल्लिखित कार्यक्रम के विभिन्न भागों को देखें -

  • इसके लिए एक हेडर की आवश्यकता होती है।
  • नामस्थान एसटीडी का प्रयोग करें; नेमस्पेस एसटीडी का उपयोग करने के लिए संकलक को चेतावनी देने के लिए।
  • लाइन इंट मेन () मुख्य विशेषता है जहां प्रोग्राम का निष्पादन शुरू होता है।
  • अगली पंक्ति कटती है<< Hello World; the word Hello World is reflected on the keyboard.
  • अगली पंक्ति 0 लौटाती है; मुख्य () फ़ंक्शन समाप्त हो जाता है।

सी++ बेसिक इनपुट/आउटपुट

C++ I/O ऑपरेशन स्ट्रीम कॉन्सेप्ट का उपयोग कर रहा है। स्ट्रीम बाइट्स या डेटा के प्रवाह का क्रम है। यह प्रदर्शन को तेज करता है।

यदि बाइट मुख्य मेमोरी से प्रिंटर, डिस्प्ले स्क्रीन, या नेटवर्क कनेक्शन इत्यादि जैसे डिवाइस में प्रवाहित होते हैं, तो इसे इस रूप में जाना जाता है आउटपुट ऑपरेशन।

यदि बाइट किसी डिवाइस जैसे प्रिंटर, डिस्प्ले स्क्रीन, नेटवर्क कनेक्शन आदि से मेन मेमोरी में प्रवाहित होते हैं, तो इसे कहा जाता है एक इनपुट ऑपरेशन

मानक आउटपुट स्ट्रीम (कोउट)

लागत की एक पूर्वनिर्धारित वस्तु है शुतुरमुर्ग कक्षा। यह आउटपुट डिवाइस से जुड़ा होता है, जो आमतौर पर एक डिस्प्ले स्क्रीन होता है। कंसोल पर आउटपुट प्रदर्शित करने के लिए स्ट्रीम इंसर्शन ऑपरेटर के साथ जुड़ने के लिए cout का उपयोग किया जाता है

उदाहरण

|_+_|

आउटपुट

|_+_|

मानक इनपुट स्ट्रीम (सीन)

जिन एक पूर्वनिर्धारित वस्तु है। यह इनपुट डिवाइस से जुड़ा होता है, जो आमतौर पर एक कीबोर्ड होता है। कंसोल इनपुट को पढ़ने के लिए स्ट्रीम एक्सट्रैक्शन ऑपरेटर (>>) में शामिल होने के लिए सिने का उपयोग किया जाता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

मानक अंत रेखा (endl)

एंडली वर्ग की एक पूर्वनिर्धारित वस्तु है। इसका उपयोग नए लाइन कैरेक्टर डालने और स्ट्रीम को फ्लश करने के लिए किया जाता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ चर

एक वैरिएबल एक मेमोरी लोकेशन का नाम है। इसका उपयोग डाटा को स्टोर करने के लिए किया जाता है। मान को बदला जा सकता है, और इसका कई बार पुन: उपयोग किया जाता है। यह आसानी से पहचाने जाने वाले प्रतीक के माध्यम से स्मृति स्थान का प्रतिनिधित्व करने का एक तरीका है। एक चर में अक्षर, अंडरस्कोर और अंक हो सकते हैं। एक चर नाम केवल वर्णमाला और अंडरस्कोर से शुरू हो सकता है। यह एक अंक से शुरू नहीं हो सकता है।

चर नाम के भीतर किसी भी सफेद स्थान की अनुमति नहीं है।

एक चर नाम कोई आरक्षित शब्द या कीवर्ड नहीं होना चाहिए, जैसे, चार, फ्लोट, आदि।

मान्य चर नाम:

  • इंट ए;
  • इंट _ab;
  • इंट ए30;

अमान्य चर नाम:

  • इंट 4;
  • इंटक्सी;
  • इंट डबल;

सी++ पहचानकर्ता

C++ आइडेंटिफायर का उपयोग किसी वैरिएबल, फंक्शन, क्लास, मॉड्यूल या किसी अन्य यूजर-डिफ़ाइंड आइटम की पहचान करने के लिए किया जाता है। यह ए से जेड या ए से जेड या अंडरस्कोर (_) से शुरू होता है, जिसके बाद शून्य या अधिक अक्षर और 0 से 9 होते हैं। सी ++ पहचानकर्ताओं के भीतर @, $, और% जैसे विराम चिह्नों की अनुमति नहीं देता है। यह एक केस-संवेदी प्रोग्रामिंग भाषा है। इस प्रकार, C++ में कार्यबल और कार्यबल दो अलग-अलग पहचानकर्ता हैं।

सी++ डेटा प्रकार

प्रकारकीवर्ड
चरित्रchar
बूलियनबूल
तैरनेवाला स्थलपानी पर तैरना
डबल फ्लोटिंग पॉइंटदोहरा
पूर्णांकपूर्णांक
बेकारशून्य
विस्तृत चरित्रwchar_t
प्रकार विशिष्ट बिट चौड़ाई विशिष्ट रेंज
char1बाइट-127 से 127 या 0 से 255
अचिन्हित वर्ण1बाइट0 से 255
हस्ताक्षरित चार1बाइट-127 से 127
wchar_t2 या 4 बाइट्स1 विस्तृत वर्ण
पूर्णांक4 निवाले-2147483648 से 2147483647
अहस्ताक्षरित4 निवाले0 से 4294967295
में हस्ताक्षर किए4 निवाले-2147483648 से 2147483647
लघु int2बाइट्स-32768 से 32767
पानी पर तैरना4 निवाले
अहस्ताक्षरित लघु int2बाइट्स0 से 65,535
संक्षिप्त परिचय पर हस्ताक्षर किए2बाइट्स-32768 से 32767
लंबे समय तक8बाइट्स-2,147,483,648 से 2,147,483,647
लंबे समय तक हस्ताक्षर किए8बाइट्सलंबे समय के समान
लंबे समय तक अहस्ताक्षरित8बाइट्स0 से 4,294,967,295
लंबे समय तक int8बाइट्स-(2^63) से (2^63)-1
लंबे समय तक अहस्ताक्षरित8बाइट्स0 से 18,446,744,073,709,551,615
दोहरा8बाइट्स
लंबा डबल12बाइट्स

सी++ स्थिरांक/शाब्दिक

स्थिरांक उन निश्चित मूल्यों को संदर्भित करता है जिन्हें प्रोग्राम बदल सकता है और उन्हें शाब्दिक कहा जाता है।

स्थिरांक किसी भी कच्चे डेटा प्रकार के हो सकते हैं और इन्हें पूर्णांक अंकों, वर्णों, फ़्लोटिंग-पॉइंट अंकों, स्ट्रिंग्स और बूलियन मानों में विभाजित किया जाता है।

पूर्णांक शाब्दिक

एक पूर्णांक शाब्दिक एक दशमलव, अष्टाधारी, या हेक्साडेसिमल स्थिरांक है।

एक पूर्णांक शाब्दिक में एक प्रत्यय होता है जो क्रमशः लंबे और अहस्ताक्षरित के लिए एल और यू का संयोजन होता है। प्रत्यय लोअरकेस या अपरकेस हो सकता है और किसी भी क्रम में हो सकता है।

उदाहरण के लिए: 212, 215u, 0xFeeL, 078, 032UU

फ़्लोटिंग-पॉइंट लिटरल

एक फ़्लोटिंग-पॉइंट शाब्दिक में एक पूर्णांक भाग, एक भिन्नात्मक भाग, एक दशमलव बिंदु और एक घातांक भाग होता है। आप फ़्लोटिंग-पॉइंट अक्षर को दशमलव रूप या घातीय रूप में प्रस्तुत कर सकते हैं।

दशमलव रूप का उपयोग करते हुए प्रतिनिधित्व करते समय, आपको दशमलव बिंदु, घातांक या दोनों को शामिल करना चाहिए। घातीय रूप का उपयोग करते समय, आपके पास भिन्नात्मक भाग, पूर्णांक भाग, या दोनों होना चाहिए। हस्ताक्षरित एक्सपोनेंट ई या ई द्वारा पेश किया जाता है।

बूलियन लिटरल्स

दो बूलियन अक्षर हैं

  • सत्य का एक मूल्य सत्य का प्रतिनिधित्व करता है।
  • असत्य का एक मान असत्य का प्रतिनिधित्व करता है।

चरित्र शाब्दिक

चरित्र अक्षर एकल उद्धरणों में संलग्न हैं। यदि अक्षर L से शुरू होता है, तो यह एक विस्तृत वर्ण का शाब्दिक है और इसे wchar_t प्रकार के चर में संग्रहीत किया जाना चाहिए। अन्यथा, यह एक संकीर्ण वर्ण शाब्दिक है और इसे चार प्रकार के एक साधारण चर में संग्रहीत किया जाता है।

निकास का क्रम अर्थ
\ चरित्र
'' चरित्र
चरित्र
?? चरित्र
प्रतिचेतावनी या घंटी
बीबैकस्पेस
एफफ़ीड बनाएं
एननई पंक्ति
आरकैरिज रिटर्न
टीक्षैतिज टैब
vलंबवत टैब
oooएक से तीन अंकों की अष्टाधारी संख्या
xhh। . .एक या अधिक अंकों की हेक्साडेसिमल संख्या

सी ++ स्टोरेज क्लासेस

ऑटो स्टोरेज क्लास

यह सभी स्थानीय चरों के लिए एक डिफ़ॉल्ट भंडारण वर्ग है।

वाक्य - विन्यास

|_+_|

रजिस्टर स्टोरेज क्लास

उनका उपयोग स्थानीय चर को परिभाषित करने के लिए किया जाता है जो रैम के बजाय एक रजिस्टर में संग्रहीत होते हैं। इसका मतलब है कि वेरिएबल का अधिकतम आकार रजिस्टर आकार के बराबर है और उस पर '&' ऑपरेटर लागू नहीं हो सकता है।

वाक्य - विन्यास

|_+_|

स्थिर भंडारण वर्ग

यह कंपाइलर को प्रोग्राम के दौरान स्थानीय चर को बनाने और नष्ट करने के बजाय अस्तित्व में रखने के लिए कहता है। इसलिए स्थानीय चर को स्थिर बनाने से उन्हें फ़ंक्शन कॉल के बीच अपने मूल्यों को बनाए रखने की पेशकश की जाती है।

बाहरी संग्रहण वर्ग

इसका उपयोग वैश्विक चर का संदर्भ देने के लिए किया जाता है जो प्रत्येक प्रोग्राम फ़ाइल को दिखाई देता है। जब आप 'बाहरी' का उपयोग करते हैं तो चर को प्रारंभ नहीं किया जा सकता है।

परिवर्तनीय भंडारण वर्ग

परिवर्तनीय विनिर्देशक वर्ग वस्तुओं पर लागू होता है। यह किसी ऑब्जेक्ट के सदस्य को कॉन्स्ट सदस्य फ़ंक्शन को ओवरराइड करने की पेशकश करता है। यही है, एक परिवर्तनीय सदस्य को एक कॉन्स सदस्य फ़ंक्शन द्वारा संशोधित किया जा सकता है।

C++ संशोधक प्रकार

सी ++ चार, इंट और डबल डेटा प्रकार प्रदान करता है ताकि उनके पहले संशोधक हों। आधार प्रकार के अर्थ को बदलने के लिए एक संशोधक का उपयोग किया जाता है ताकि यह विभिन्न स्थितियों की आवश्यकताओं को अधिक सटीक रूप से फिट कर सके।

डेटा प्रकार संशोधक नीचे उल्लिखित हैं−

  • पर हस्ताक्षर किए
  • अहस्ताक्षरित
  • लंबा
  • कम

हस्ताक्षर किए गए, अहस्ताक्षरित, लंबे और छोटे संशोधक पूर्णांक आधार प्रकारों पर लागू होते हैं। इसके अलावा, हस्ताक्षरित और अहस्ताक्षरित चार पर लागू होते हैं, और लंबे को डबल पर लागू किया जाता है।

हस्ताक्षरित और अहस्ताक्षरित संशोधक लंबे या छोटे संशोधक के उपसर्ग के रूप में उपयोग किए जाते हैं।

क्वालिफायर के प्रकार

    स्थिरांक: प्रकार की वस्तुएं स्थिरांक निष्पादन के दौरान कार्यक्रम द्वारा बदला नहीं जा सकता।परिवर्तनशील: संपादित करें परिवर्तनशील कंपाइलर को बताता है कि वेरिएबल का मान प्रोग्राम द्वारा स्पष्ट रूप से निर्दिष्ट नहीं किए गए तरीकों से बदला जा सकता है।रोकना: द्वारा योग्य सूचक रोकना एकमात्र साधन है जिसके द्वारा वह जिस वस्तु की ओर इशारा करता है, उस तक पहुँचा जा सकता है। C99 एक नए प्रकार का क्वालीफायर जोड़ता है जिसे प्रतिबंधित कहा जाता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ में ऑपरेटर्स

एक ऑपरेटर एक प्रतीक है जो संकलक को विशिष्ट गणितीय या तार्किक जोड़तोड़ करने में मदद करता है। C++ में विभिन्न बिल्ट-इन ऑपरेटर हैं और यह निम्न प्रकार के ऑपरेटर प्रदान करता है -

  • अंकगणित संचालिका
  • लॉजिकल ऑपरेटर
  • बिटवाइज ऑपरेटर
  • असाइनमेंट ऑपरेटर
  • रिलेशनल ऑपरेटर
  • विविध ऑपरेटर

अंकगणित संचालिका

अंकगणितीय संचालिका कुछ और नहीं बल्कि वे परिचालक हैं जिनका उपयोग चर या दो मानों के बीच अंकगणितीय संक्रियाओं को करने के लिए किया जाता है।

ऑपरेटर्स विवरण वाक्य - विन्यास
+दो ऑपरेंड जोड़ता हैए+बी
*दो ऑपरेंड गुणा करता हैए*बी
-दो ऑपरेंड घटाता हैए-बी
/पहले ऑपरेंड को दूसरे से विभाजित करता हैए/बी
%जब पहले ऑपरेंड को दूसरे ऑपरेंड से विभाजित किया जाता है तो शेषफल देता हैए% बी
++यह पूर्णांक मान को एक . से बढ़ा देता हैए++
-यह पूर्णांक मान को एक से घटाता हैप्रति-

लॉजिकल ऑपरेटर

C++ में लॉजिकल ऑपरेटर्स वेरिएबल के सही या गलत मानों को जोड़ते हैं ताकि आप उनके परिणामी सत्य मान का पता लगा सकें।

ऑपरेटर्स विवरण वाक्य - विन्यास
या (||)सही है अगर दोनों में से कोई एक ऑपरेंड सत्य है(ए || बी) सच है।
और (&&)सही है अगर दोनों ऑपरेंड सत्य हैं(ए एंड एंड बी) गलत है।
नहीं (!)यदि कोई शर्त सत्य है, तो लॉजिकल नॉट ऑपरेटर झूठा बना देगा।!(A && B) सत्य है।

बिटवाइज ऑपरेटर

C++ में बिटवाइज़ ऑपरेटर्स पूर्णांकों पर बिटवाइज़ कैलकुलेशन करते हैं। बिटवाइज़ ऑपरेटर: 1 देता है यदि दोनों बिट्स 1 और 0 हैं। उदाहरण: ए = 10 = 1010 (बाइनरी) बी = 4 = 0100 (बाइनरी ए और बी = 1010 और 0100 = 0000 = 0 (दशमलव) बिटवाइज या ऑपरेटर: रिटर्न 1 यदि बिट में से कोई एक 1 और 0 है।

ऑपरेटर्स विवरण वाक्य - विन्यास
>>बाइनरी राइट शिफ्ट x>>एक्स>>
<< बाइनरी लेफ्ट शिफ्टएक्स<<
^बाइनरी एक्सओआरएक्स ^ वाई
औरबाइनरी औरएक्स और वाई
|बाइनरी ORएक्स | यू
~बाइनरी नोट~x

असाइनमेंट ऑपरेटर

असाइनमेंट ऑपरेटर वेरिएबल्स को मान असाइन करते हैं। a = 5 एक असाइनमेंट ऑपरेटर है जो बाईं ओर वैरिएबल a के दाईं ओर मान 5 सेट करता है।

ऑपरेटर्स विवरण वाक्य - विन्यास
=बाईं ओर के ऑपरेंड में दाईं ओर के व्यंजक के मान असाइन करना।ए = बी + सी
+=बाईं ओर के ऑपरेंड के साथ राइट साइड ऑपरेंड जोड़ें और फिर लेफ्ट ऑपरेंड को असाइन करें।ए+=बी ए=ए+बी
-=बाएं ऑपरेंड से दाएं के ऑपरेंड को घटाएं और फिर इसे बाएं ऑपरेंड को असाइन करें।ए-=बी ए=ए-बी
/=बाएं ऑपरेंड को दाएं के ऑपरेंड से विभाजित करें और फिर बाएं ऑपरेंड को असाइन करें।ए/=बी ए=ए/बी
%=बाएँ और दाएँ संकार्य का उपयोग करके मापांक लें और परिणाम को बाएँ संकार्य को असाइन करें।a%=b a=a%b
*=ऑपरेंड का उपयोग करके एक्सपोनेंट मान की गणना करें और बाएं ऑपरेंड को मान असाइन करें।ए*=बी ए=ए*बी
&=बिटवाइज़ और ऑपरेंड पर प्रदर्शन करता है और बाएं ऑपरेंड को मान निर्दिष्ट करता है।ए&=बी ए=ए&बी
|=बिटवाइज़ या ऑपरेंड पर प्रदर्शन करता है और बाएं ऑपरेंड को मान प्रदान करता है।ए|=बी ए=ए|बी
^=बिटवाइज़ या ऑपरेंड पर प्रदर्शन करता है और बाएं ऑपरेंड को मान प्रदान करता है।ए^=बी ए=ए^बी
>>=ऑपरेंड पर बिटवाइज़ राइट शिफ्ट करें और लेफ्ट ऑपरेंड को वैल्यू असाइन करें।ए>>=बी ए=ए>>बी
<<=ऑपरेंड पर बिटवाइज़ लेफ्ट शिफ्ट करता है और लेफ्ट ऑपरेंड को वैल्यू असाइन करता है।प्रति<<= b a= a << b

रिलेशनल ऑपरेटर

रिलेशनल ऑपरेटर वे ऑपरेटर होते हैं जिनका उपयोग दो मानों या वस्तुओं की तुलना करने के लिए किया जाता है।

ऑपरेटर्स विवरण वाक्य - विन्यास
>से अधिकएक्स > वाई
<से कमएक्स
==बराबरी काएक्स == वाई
!=बराबर नहींएक्स! = वाई
>=इससे बड़ा या इसके बराबरएक्स >= वाई
<= से कम या बराबरएक्स<= y

विविध ऑपरेटर

ऑपरेटर विवरण
स्थिति? एक्स: वाईयदि शर्त सत्य है, तो यह X का मान लौटाता है अन्यथा Y का मान लौटाता है।
,यह संचालन के अनुक्रम को निष्पादित करने का कारण बनता है। अल्पविराम का मान अल्पविराम द्वारा अलग की गई सूची की अंतिम अभिव्यक्ति का मान है।
का आकारयह एक वेरिएबल का आकार लौटाता है। उदाहरण के लिए, आकार (ए), जहां 'ए' एक पूर्णांक है और 4 लौटाएगा।
*यह एक चर के लिए एक सूचक है। उदाहरण के लिए *var; एक चर var के लिए सूचक होगा।
ढालनायह एक डेटा टाइप को दूसरे डेटा टाइप में कनवर्ट करता है।
. (डॉट) और -> (तीर)उनका उपयोग वर्गों, संरचनाओं और संघों के व्यक्तिगत सदस्यों को संदर्भित करने के लिए किया जाता है।
औरयह चर का पता देता है।

सी++ लूप्स

पाश के लिए

लूप के लिए C++ का प्रयोग प्रोग्राम के एक भाग को कई बार पुनरावृति करने के लिए किया जाता है। यदि पुनरावृत्ति की संख्या निश्चित है, तो लूप के लिए उपयोग करने की अनुशंसा की जाती है जबकि लूप या डू-लूप लूप।

लूप के लिए सी ++ सी/सी # जैसा ही है। हम वैरिएबल को इनिशियलाइज़ कर सकते हैं, कंडीशन चेक कर सकते हैं, और इंक्रीमेंट/डिक्रीमेंट वैल्यू।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

लूप के लिए नेस्टेड

सी ++ में, आप लूप के लिए दूसरे के अंदर लूप के लिए उपयोग कर सकते हैं। इसे लूप के लिए नेस्टेड के रूप में जाना जाता है। जब बाहरी लूप को एक बार निष्पादित किया जाता है तो आंतरिक लूप पूरी तरह से निष्पादित होता है। इसलिए यदि बाहरी लूप और आंतरिक लूप को चार बार निष्पादित किया जाता है, तो आंतरिक लूप को प्रत्येक बाहरी लूप के लिए चार बार निष्पादित किया जाएगा, यानी कुल 16 बार।

उदाहरण

|_+_|

आउटपुट

|_+_|

घुमाव के दौरान

C++ में, जबकि लूप का उपयोग प्रोग्राम के एक भाग को कई बार पुनरावृति करने के लिए किया जाता है। यदि पुनरावृत्ति की संख्या निश्चित नहीं है, तो लूप के बजाय थोड़ी देर के लूप का उपयोग करने की अनुशंसा की जाती है।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

लूप के दौरान नेस्टेड

सी ++ में, आप लूप के दौरान दूसरे के अंदर थोड़ी देर के लूप का उपयोग कर सकते हैं; इसे नेस्टेड जबकि लूप के रूप में जाना जाता है। नेस्टेड जबकि लूप को तब निष्पादित किया जाता है जब बाहरी लूप को एक बार निष्पादित किया जाता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

डू-जबकि लूप

C++ डू-जबकि लूप का उपयोग प्रोग्राम के एक भाग को कई बार पुनरावृति करने के लिए किया जाता है। यदि पुनरावृत्ति की संख्या निश्चित नहीं है और आपको कम से कम एक बार लूप को निष्पादित करना होगा, तो यह अनुशंसा की जाती है कि आप डू-लूप लूप का उपयोग करें।

C++ डू-जबकि लूप को कम से कम एक बार निष्पादित किया जाता है क्योंकि लूप बॉडी के बाद स्थिति की जांच की जाती है।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

नेस्टेड डू-जबकि लूप

सी ++ में, यदि आप किसी अन्य डू-लूप लूप के अंदर डू-लूप लूप का उपयोग करते हैं, तो इसे नेस्टेड डू-लूप लूप के रूप में जाना जाता है। नेस्टेड डू-लूप लूप प्रत्येक बाहरी डू-लूप लूप के लिए पूरी तरह से निष्पादित होता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

निर्णय लेने वाले वक्तव्य

वास्तविक जीवन में ऐसे हालात होते हैं जब आपको कुछ निर्णय लेने की आवश्यकता होती है, और इन निर्णयों के आधार पर आप तय करते हैं कि आपको आगे क्या करना चाहिए। प्रोग्रामिंग में भी इसी तरह की समस्याएं उत्पन्न होती हैं जहां आपको कुछ निर्णय लेने की आवश्यकता होती है, और इन निर्णयों के आधार पर, आप कोड के अगले ब्लॉक को निष्पादित करेंगे।

प्रोग्रामिंग भाषाओं में निर्णय लेने वाले बयान कार्यक्रम निष्पादन के प्रवाह की दिशा तय करते हैं। C++ में उपलब्ध निर्णय लेने वाले कथन हैं:

  • अगर बयान
  • अगर..और बयान
  • नेस्टेड अगर बयान
  • अगर-और-अगर सीढ़ी
  • जंप स्टेटमेंट:
    • तोड़ना
    • जारी रखें
    • के लिए जाओ
    • वापसी

अगर बयान

यदि कथन एक साधारण निर्णय लेने वाला कथन है। इसका उपयोग यह तय करने के लिए किया जाता है कि बयानों के ब्लॉक को निष्पादित किया जाएगा या नहीं। यदि शर्त सही है तो स्टेटमेंट के ब्लॉक को निष्पादित किया जाता है अन्यथा नहीं।

वाक्य - विन्यास

|_+_|

यहाँ, शर्तेँ मूल्यांकन के बाद या तो सही होगा या गलत। यदि कथन बूलियन मान स्वीकार करता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

अगर कोई और बयान

यदि कथन बताता है कि यदि कोई शर्त सत्य है तो यह कथनों के ब्लॉक को निष्पादित करेगी और यदि स्थिति गलत है तो यह निष्पादित नहीं होगी। स्थिति के गलत होने पर कोड के ब्लॉक को निष्पादित करने के लिए आप if स्टेटमेंट के साथ अन्य स्टेटमेंट का उपयोग कर सकते हैं।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

नेस्टेड अगर बयान

एक नेस्टेड अगर सी ++ में एक अगर कथन है जो किसी अन्य कथन को लक्षित करता है। नेस्टेड अगर स्टेटमेंट्स का मतलब है कि अगर स्टेटमेंट दूसरे स्टेटमेंट के अंदर है। हां, सी और सी ++ दोनों हमें नेस्टेड की पेशकश करते हैं यदि बयान के भीतर बयान, यानी, अगर आप बयान के अंदर एक बयान दे सकते हैं।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

अगर-और-अगर सीढ़ी

एक उपयोगकर्ता विभिन्न विकल्पों में से निर्णय ले सकता है। if स्टेटमेंट को ऊपर से नीचे तक निष्पादित किया जाता है। जैसे ही स्थितियां नियंत्रित करती हैं कि अगर सही है, तो उससे जुड़े बयान को निष्पादित किया जाता है, और बाकी-अगर सीढ़ी समाप्त हो जाती है। यदि शर्तें सत्य नहीं हैं, तो अंतिम और अंतिम विवरण निष्पादित किया जाएगा।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

जम्प स्टेटमेंट्स

तोड़ना

इस कथन का उपयोग लूप को समाप्त करने के लिए किया जाता है। जैसे ही लूप के भीतर से ब्रेक स्टेटमेंट का सामना करना पड़ता है, लूप पुनरावृत्तियां वहीं रुक जाती हैं और लूप के बाद पहले स्टेटमेंट पर तुरंत नियंत्रण वापस आ जाता है।

वाक्य - विन्यास
तोड़ना;

ब्रेक स्टेटमेंट का उपयोग उन स्थितियों में किया जाता है जब हम लूप के लिए पुनरावृत्तियों की वास्तविक संख्या के बारे में सुनिश्चित नहीं होते हैं या किसी शर्त के आधार पर लूप को समाप्त करते हैं।

उदाहरण

|_+_|

आउटपुट

|_+_|

जारी रखें

जारी बयान ब्रेक स्टेटमेंट के विपरीत है; लूप को समाप्त करने के बजाय, यह लूप के अगले पुनरावृत्ति को बाध्य करता है।

जारी बयान लूप को अगले पुनरावृत्ति को निष्पादित करने के लिए मजबूर करता है। जब जारी बयान निष्पादित किया जाता है, तो जारी बयान के बाद लूप के अंदर कोड छोड़ दिया जाता है, और अगला पुनरावृत्ति शुरू हो जाएगा।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

के लिए जाओ

सी ++ में गोटो स्टेटमेंट एक बिना शर्त जंप स्टेटमेंट को संदर्भित करता है जिसका उपयोग किसी फ़ंक्शन के भीतर एक बिंदु से दूसरे बिंदु पर कूदने के लिए किया जाता है।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

वापसी

सी ++ में वापसी फ़ंक्शन के निष्पादन के प्रवाह को लौटाती है। इस कथन को किसी सशर्त कथन की आवश्यकता नहीं है। एक बार स्टेटमेंट निष्पादित होने के बाद, प्रोग्राम का प्रवाह तुरंत रुक जाता है और जहां से इसे कॉल किया गया था, वहां से नियंत्रण वापस कर देता है। रिटर्न स्टेटमेंट शून्य फ़ंक्शन के लिए कुछ भी वापस कर सकता है या नहीं, लेकिन एक गैर-शून्य फ़ंक्शन के लिए वापसी मान वापस किया जाना चाहिए।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ फंक्शन

एक फ़ंक्शन बयानों के एक समूह को संदर्भित करता है जो इनपुट लेता है, इसे संसाधित करता है, और आउटपुट देता है। फ़ंक्शन का उद्देश्य उन कार्यों को संयोजित करना है जो बार-बार किए जाते हैं। यदि आपके पास विभिन्न इनपुट हैं, तो आपको वही कोड दोबारा लिखने की आवश्यकता नहीं है। आप फ़ंक्शन को पैरामीटर के रूप में ज्ञात डेटा के एक अलग सेट के साथ कॉल कर सकते हैं।

C++ प्रोग्राम में कम से कम एक फंक्शन होता है, main() फंक्शन।

फ़ंक्शन को परिभाषित करना

C++ में फंक्शन डेफिनिशन में फंक्शन हेडर और बॉडी होती है।

    वापसी प्रकार- यह एक मान लौटा सकता है। कुछ फ़ंक्शन मान लौटाए बिना संचालन करते हैं। इसमें रिटर्न_टाइप कीवर्ड है शून्य .समारोह का नाम- यह फ़ंक्शन का वास्तविक नाम है। फ़ंक्शन का नाम और सूची एक साथ फ़ंक्शन हस्ताक्षर बनाते हैं।मापदंडों- एक पैरामीटर प्लेसहोल्डर की तरह ही होता है। जब कोई फ़ंक्शन लागू किया जाता है, तो आप मान को पैरामीटर में पास करते हैं। इस मान को वास्तविक पैरामीटर या तर्क के रूप में जाना जाता है। पैरामीटर सूची क्रम, प्रकार और फ़ंक्शन के कई मापदंडों को संदर्भित करती है।फंक्शन बॉडी- शरीर में बयानों का एक संग्रह होता है जो परिभाषित करता है कि फ़ंक्शन क्या करता है।

उदाहरण

|_+_|

एक समारोह की घोषणा

सी ++ में, कार्यों का उपयोग करने से पहले उन्हें घोषित किया जाना चाहिए। आप किसी फ़ंक्शन को उसके रिटर्न मान, नाम और उसके तर्कों के प्रकार प्रदान करके घोषित कर सकते हैं। तर्कों की शर्तें वैकल्पिक हैं। एक फ़ंक्शन परिभाषा फ़ंक्शन घोषणा के रूप में गिना जाता है।

उदाहरण

|_+_|

किसी फ़ंक्शन को कॉल करना

जब आप C++ फ़ंक्शन बनाते हैं, तो आप परिभाषित करते हैं कि फ़ंक्शन को क्या करना है। किसी फ़ंक्शन का उपयोग करने के लिए, आपको उस फ़ंक्शन को कॉल या इनवोक करना होगा।

जब प्रोग्राम किसी फ़ंक्शन को कॉल करता है, तो प्रोग्राम कंट्रोल को कॉल किए गए फ़ंक्शन में स्थानांतरित कर दिया जाता है। एक कॉल किया गया फ़ंक्शन एक परिभाषित कार्य करता है, और जब इसका रिटर्न स्टेटमेंट निष्पादित किया जाता है या जब इसके फ़ंक्शन-एंडिंग क्लोजिंग ब्रेस तक पहुंच जाता है, तो यह प्रोग्राम कंट्रोल को मुख्य प्रोग्राम पर वापस कर देता है।

उदाहरण

|_+_|

समारोह तर्क

यदि कोई फ़ंक्शन तर्कों का उपयोग करता है, तो उसे उन चरों की घोषणा करनी चाहिए जो तर्कों के मूल्यों को स्वीकार करते हैं। इन चरों को के रूप में जाना जाता है समारोह के औपचारिक पैरामीटर

    मूल्य द्वारा कॉल करें: यह तर्क के वास्तविक मान को फ़ंक्शन के औपचारिक पैरामीटर में कॉपी करता है। फ़ंक्शन के अंदर पैरामीटर में किए गए परिवर्तन तर्क को प्रभावित नहीं करते हैं।पॉइंटर द्वारा कॉल करें: यह तर्क के पते को औपचारिक पैरामीटर में कॉपी करता है। इस फ़ंक्शन के अंदर, कॉल में उपयोग किए गए तर्क तक पहुंचने के लिए पते का उपयोग किया जाता है। इसका मतलब है कि पैरामीटर में किए गए परिवर्तन तर्क को प्रभावित करते हैं।संदर्भ द्वारा कॉल करें: यह एक तर्क के संदर्भ को औपचारिक पैरामीटर में कॉपी करता है। इस फ़ंक्शन के अंदर, कॉल में प्रयुक्त तर्क तक पहुँचने के लिए संदर्भ का उपयोग किया जाता है। इसका मतलब है कि पैरामीटर में किए गए परिवर्तन तर्क को प्रभावित करते हैं।

सी++ नंबर

आमतौर पर, जब हम नंबरों के साथ काम करते हैं, तो हम आदिम डेटा प्रकारों का उपयोग करते हैं जैसे कि इंट, शॉर्ट, लॉन्ग, फ्लोट, डबल, आदि। डेटा प्रकारों की संख्या, उनके संभावित मान और संख्या श्रेणियों को सी ++ डेटा प्रकारों पर चर्चा करते समय समझाया गया है।

उदाहरण

|_+_|

आउटपुट

|_+_|

C++ . में गणित संचालिका

हां नहीं कार्यों प्रयोजन
एक दोहरा पाप (डबल);यह एक कोण लेता है (दोहरे के रूप में) और ज्या लौटाता है।
दो डबल कॉस (डबल);यह एक कोण लेता है (दोहरे के रूप में) और कोसाइन लौटाता है।
3 डबल तन (डबल);यह एक कोण लेता है (दोहरे के रूप में) और स्पर्शरेखा लौटाता है।
4 डबल पाउ (डबल, डबल);पहली वह संख्या है जिसे आप उठाना चाहते हैं और दूसरी वह शक्ति है जिसे आप उठाना चाहते हैं
5 डबल लॉग (डबल);यह एक संख्या लेता है और उस संख्या का प्राकृतिक लॉग देता है।
6 डबल हाइपोट (डबल, डबल);यदि आप इसे एक समकोण त्रिभुज की दो भुजाओं की लंबाई से गुजारते हैं, तो यह आपको कर्ण की लंबाई लौटाएगा।
7 डबल वर्ग (डबल);आप फ़ंक्शन को एक संख्या पास करते हैं और यह आपको वर्गमूल देता है।
8 इंट एब्स (इंट);यह एक पूर्णांक का निरपेक्ष मान लौटाता है जो इसे पास किया जाता है।
9 डबल फ्लोर (डबल);वह पूर्णांक ढूँढता है जो उसे दिए गए तर्क से कम या उसके बराबर है।
10 डबल फैब्स (डबल);यह इसे पास की गई किसी भी दशमलव संख्या का निरपेक्ष मान देता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी ++ सरणी

सी ++ में एक सरणी सन्निहित स्मृति स्थानों पर संग्रहीत वस्तुओं का संग्रह है, और तत्वों को सरणी के सूचकांक का उपयोग करके यादृच्छिक रूप से एक्सेस किया जा सकता है। उनका उपयोग समान तत्वों को संग्रहीत करने के लिए किया जाता है क्योंकि सभी तत्वों के लिए डेटा प्रकार समान होना चाहिए। वे आदिम डेटा प्रकारों जैसे कि चार, इंट, फ्लोट, डबल इत्यादि को स्टोर कर सकते हैं। इसे जोड़ने के लिए, सी ++ में एक सरणी व्युत्पन्न डेटा प्रकारों जैसे संरचनाओं, पॉइंटर्स इत्यादि को स्टोर कर सकती है। नीचे दिए गए सरणी का सुरम्य प्रतिनिधित्व है .

सरणी घोषणा

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

यहाँ,

  • int - संग्रहीत करने के लिए एक प्रकार का तत्व
  • y - सरणी का नाम
  • 4 - सरणी का आकार

ऐरे में एक्सेस एलिमेंट्स

एक सरणी में प्रत्येक तत्व एक संख्या के साथ जुड़ा हुआ है। संख्या को एक सरणी अनुक्रमणिका कहा जाता है। आप सूचकांकों का उपयोग करके किसी सरणी के तत्वों तक पहुँच सकते हैं।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

यहाँ C++ सरणियों की कुछ महत्वपूर्ण अवधारणाएँ दी गई हैं

    बहुआयामी सरणियाँ: द्वि-आयामी सरणी बहुआयामी सरणी का सबसे सरल रूप है।एक सरणी के लिए सूचक: आप अनुक्रमणिका के बिना सरणी नाम का उल्लेख करके किसी सरणी के पहले तत्व के लिए एक सूचक उत्पन्न करेंगे।कार्यों के लिए सरणी पास करना: आप किसी अनुक्रमणिका के बिना सरणी के नाम को निर्दिष्ट करके फ़ंक्शन को एक सरणी के लिए एक सूचक पास करेंगे।कार्यों से वापसी सरणी: सी ++ फ़ंक्शन को एक सरणी वापस करने की अनुमति देता है।

सी++ स्ट्रिंग्स

यह पात्रों का संग्रह है। C++ प्रोग्रामिंग भाषा में दो प्रकार के स्ट्रिंग्स का उपयोग किया जाता है:

  • स्ट्रिंग्स जो स्ट्रिंग क्लास की वस्तुएं हैं
  • सी-तार

स्ट्रिंग क्लास

C++ पुस्तकालय प्रदान करता है a डोरी वर्ग प्रकार जो ऊपर वर्णित सभी कार्यों का समर्थन करता है, इसके अतिरिक्त बहुत अधिक कार्यक्षमता।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी तार

यह स्ट्रिंग सी भाषा के भीतर उत्पन्न हुई और सी ++ के भीतर समर्थित है। यह स्ट्रिंग वर्णों की एक-आयामी सरणी है जिसे एक अशक्त वर्ण '' द्वारा समाप्त किया जाता है। इस प्रकार नल-टर्मिनेटेड स्ट्रिंग में वे वर्ण होते हैं जिनमें स्ट्रिंग के बाद एक नल होता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

कुछ फ़ंक्शन जो नल-टर्मिनेटेड स्ट्रिंग्स में हेरफेर करते हैं

    स्ट्रैपी (एस 1, एस 2);

यह स्ट्रिंग s2 को स्ट्रिंग s1 में कॉपी करता है।

    स्ट्रैट (एस 1, एस 2);

यह स्ट्रिंग s2 को स्ट्रिंग s1 के अंत में जोड़ता है।

    स्ट्रस्ट्र (एस 1, एस 2);

यह स्ट्रिंग s1 में स्ट्रिंग s2 की घटना के लिए एक सूचक देता है।

    स्ट्रेलन (एस 1);

यह स्ट्रिंग s1 की लंबाई देता है।

    strcmp(s1, s2);

यदि s1 और s2 समान हैं तो यह 0 देता है; 0 से कम यदि s1s2.

    strchr (s1, ch);

यह स्ट्रिंग s1 में वर्ण ch की घटना के लिए सूचक देता है।

सी++ पॉइंटर्स

पॉइंटर्स पते का प्रतिनिधित्व कर रहे हैं। वे प्रोग्राम को कॉल-बाय-रेफरेंस का अनुकरण करने और गतिशील डेटा संरचनाओं को बनाने और हेरफेर करने में सक्षम बनाते हैं।

वाक्य - विन्यास

|_+_|

पॉइंटर का उपयोग कैसे करें?

  • सबसे पहले, एक पॉइंटर वेरिएबल को परिभाषित करें
  • अब (&) का उपयोग करके एक पॉइंटर को वेरिएबल का पता असाइन करें जो उस वेरिएबल का पता देता है।
  • (*) का उपयोग करके पते में संग्रहीत मूल्यों तक पहुंचना जो इसके ऑपरेंड द्वारा निर्दिष्ट पते पर स्थित चर का मान देता है।

पॉइंटर्स की कुछ अवधारणाएं

    नल पॉइंटर्स: यह विभिन्न मानक पुस्तकालयों में परिभाषित शून्य के मान के साथ एक स्थिरांक है।सूचक अंकगणित: पॉइंटर्स पर चार अंकगणितीय ऑपरेटरों का उपयोग किया जा सकता है: ++, -, +, -पॉइंटर्स बनाम एरेज़: पॉइंटर्स और सरणियों के बीच घनिष्ठ संबंध है।पॉइंटर्स की सरणी: आप कई पॉइंटर्स रखने के लिए सरणियों को परिभाषित कर सकते हैं।पॉइंटर टू पॉइंटर: C++ आपको पॉइंटर वगैरह पर पॉइंटर रखने की पेशकश करता है।कार्यों के लिए पॉइंटर्स पास करना: संदर्भ या पते से गुजरना दोनों दिए गए कथन को कॉलिंग फ़ंक्शन में कॉल किए गए फ़ंक्शन द्वारा परिवर्तित करने में सक्षम बनाता है।फ़ंक्शंस से रिटर्न पॉइंटर: सी ++ एक स्थानीय चर, स्थिर चर, और गतिशील रूप से आवंटित स्मृति को पॉइंटर वापस करने के लिए एक फ़ंक्शन प्रदान करता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ संदर्भ

एक संदर्भ चर पहले से मौजूद चर के लिए एक नाम है। एक बार संदर्भ प्रारंभ होने के बाद या तो चर नाम या संदर्भ नाम का उपयोग चर को संदर्भित करने के लिए किया जा सकता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ दिनांक और समय

C++ लाइब्रेरी उचित दिनांक प्रकार प्रदान नहीं करती है। यह सी से दिनांक और समय में हेरफेर के लिए स्ट्रक्चर और फ़ंक्शंस प्राप्त करता है। दिनांक और समय से संबंधित कार्यों और संरचनाओं तक पहुंचने के लिए, आपको अपने सी ++ प्रोग्राम में हेडर फ़ाइल शामिल करने की आवश्यकता होगी।

समय से संबंधित चार प्रकार हैं: क्लॉक_टी, टाइम_टी, साइज_टी, और टीएम। प्रकार - clock_t, size_t, और time_t सिस्टम के समय और तारीख को कुछ पूर्णांक के रूप में दर्शाने में सक्षम हैं।

उदाहरण

|_+_|

कुछ महत्वपूर्ण कार्य

    टाइम_टी टाइम (टाइम_टी *टाइम);

यह 1 जनवरी, 1970 के बाद से बीते हुए कई सेकंड में वर्तमान कैलेंडर समय लौटाता है। यदि सिस्टम के पास समय नहीं है, तो .1 लौटा दिया जाता है।

    चार * सीटाइम (कॉन्स्ट टाइम_टी * टाइम);

यह फॉर्म की एक स्ट्रिंग के लिए एक पॉइंटर लौटाता है दिन महीना साल घंटे: मिनट: सेकंड।

    स्ट्रक्चर टीएम * लोकलटाइम (कॉन्स्ट टाइम_टी * टाइम);

यह के लिए एक सूचक देता है टीएम स्थानीय समय का प्रतिनिधित्व करने वाली संरचना।

    घड़ी_टी घड़ी (शून्य);

यह एक मान देता है जो उस समय का अनुमान लगाता है जब कॉलिंग प्रोग्राम चल रहा है। समय उपलब्ध न होने पर .1 का मान लौटा दिया जाता है।

    चार * एस्कटाइम (कॉन्स्ट स्ट्रक्चर टीएम * टाइम);

यह स्ट्रिंग के लिए एक पॉइंटर लौटाता है जिसमें एक संरचना में संग्रहीत जानकारी होती है जिसे समय के रूप में परिवर्तित किया जाता है: दिन महीने की तारीख घंटे: मिनट: सेकंड

    स्ट्रक्चर टीएम * जीएमटाइम (कॉन्स्ट टाइम_टी * टाइम);

यह tm संरचना के रूप में समय के लिए एक सूचक लौटाता है।

    टाइम_टी एमकेटाइम (स्ट्रक्चर टीएम * टाइम);

यह समय द्वारा इंगित संरचना में पाए गए कैलेंडर-समय को लौटाता है।

    डबल डिफटाइम (time_t time2, time_t time1);

यह समय 1 और समय 2 के बीच सेकंड में अंतर की गणना करता है।

    size_t strftime ();

इसका उपयोग किसी विशिष्ट प्रारूप में दिनांक और समय को प्रारूपित करने के लिए किया जा सकता है।

सी ++ डेटा संरचनाएं

C++ सरणियाँ आपको वेरिएबल को परिभाषित करने की पेशकश करती हैं जो एक ही तरह के कई डेटा आइटम को जोड़ती हैं। फिर भी, संरचना एक अन्य उपयोगकर्ता-परिभाषित डेटा प्रकार है जो आपको विभिन्न प्रकार के डेटा आइटम को संयोजित करने में सक्षम करेगा। एक रिकॉर्ड का प्रतिनिधित्व करने के लिए संरचनाओं का उपयोग किया जाता है।

एक संरचना को परिभाषित करना

संरचना को परिभाषित करने के लिए, आपको संरचना कथन का उपयोग करना चाहिए। प्रोग्राम के लिए स्ट्रक्चर स्टेटमेंट एक डेटा प्रकार को परिभाषित करता है, जिसमें एक से अधिक सदस्य होते हैं।

|_+_|

संरचना टैग वैकल्पिक है। परिभाषा के अंत में, अंतिम अर्धविराम से पहले, आपको एक या अधिक संरचना चर निर्दिष्ट करना चाहिए।

एक्सेसिंग स्ट्रक्चर सदस्य

संरचना के किसी भी सदस्य तक पहुँचने के लिए, आप इसका उपयोग कर सकते हैं सदस्य एक्सेस ऑपरेटर (।) . सदस्य एक्सेस ऑपरेटर को एक संरचना चर नाम और एक संरचना सदस्य के बीच की अवधि के रूप में कोडित किया जाता है जिसे हम एक्सेस करना चाहते हैं। आप इस्तेमाल करेंगे एक संरचना संरचना प्रकार के चर को परिभाषित करने के लिए कीवर्ड।

फ़ंक्शन तर्क के रूप में संरचनाएं

आप संरचना को फ़ंक्शन तर्क के रूप में उसी तरह पास कर सकते हैं जैसे आप किसी अन्य चर या सूचक को पास करते हैं।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी ++ कक्षाएं और वस्तुएं

सी ++ में सब कुछ कक्षाओं और वस्तुओं से संबंधित है, साथ ही उनकी विशेषताओं और विधियों के साथ। उदाहरण के लिए: वास्तविक जीवन में, एक बस एक है वस्तु . बस है गुण , जैसे वजन और रंग, और तरीकों , जैसे ड्राइव और ब्रेक।

गुण और विधियाँ हैं चर तथा कार्यों जो वर्ग के अंतर्गत आता है। उन्हें वर्ग के सदस्यों के रूप में जाना जाता है। वर्ग एक उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार है जिसे आप किसी प्रोग्राम में उपयोग कर सकते हैं, और यह ऑब्जेक्ट कंस्ट्रक्टर या ऑब्जेक्ट बनाने के लिए ब्लूप्रिंट के रूप में काम करता है।

एक क्लास बनाएं

यदि आप एक वर्ग बनाना चाहते हैं, तो आपको इसका उपयोग करना होगा कक्षा कीवर्ड:

उदाहरण

|_+_|

एक वस्तु बनाएँ

C++ में एक क्लास से एक ऑब्जेक्ट बनाया जाता है।

ऑब्जेक्ट बनाने के लिए आपको क्लास का नाम, उसके बाद ऑब्जेक्ट का नाम निर्दिष्ट करना होगा। वर्ग विशेषताओं तक पहुँचने के लिए, ऑब्जेक्ट पर डॉट सिंटैक्स (.) का उपयोग करें:

उदाहरण

|_+_|

कुछ अवधारणाएं विस्तार से

    वर्ग सदस्य कार्य: एक सदस्य फ़ंक्शन एक ऐसा फ़ंक्शन होता है जिसका प्रोटोटाइप किसी भी अन्य चर की तरह वर्ग परिभाषा के भीतर होता है।क्लास एक्सेस संशोधक: एक वर्ग के सदस्य को निजी, सार्वजनिक, संरक्षित के रूप में परिभाषित किया जा सकता है। डिफ़ॉल्ट रूप से यह निजी है।निर्माता: एक कंस्ट्रक्टर एक क्लास में एक फंक्शन होता है जिसे एक नई वस्तु बनाते समय कहा जाता है।मिटाने वाला: डिस्ट्रक्टर एक ऐसा फंक्शन है जिसे तब कहा जाता है जब बनाई गई वस्तु को हटा दिया जाता है।कॉपी कंस्ट्रक्टर:यह एक कंस्ट्रक्टर है जो किसी ऑब्जेक्ट को उसी क्लास के ऑब्जेक्ट के साथ इनिशियलाइज़ करके बनाता है, जिसे पहले बनाया गया था।मित्र कार्य: यह एक वर्ग के निजी और संरक्षित सदस्यों को पूर्ण पहुँच प्रदान करता है।इनलाइन फ़ंक्शंस: कंपाइलर फ़ंक्शन के लिए कॉल के स्थान पर फ़ंक्शन के मुख्य भाग में कोड का विस्तार करता है।यह सूचक: प्रत्येक वस्तु का एक विशेष सूचक होता है यह जो वस्तु की ओर ही इशारा करता है।एक वर्ग के स्थिर सदस्य: एक वर्ग के डेटा सदस्यों और कार्य सदस्यों दोनों को स्थिर घोषित किया जा सकता है।

सी ++ वंशानुक्रम

वंशानुक्रम एक ऐसी प्रक्रिया है जिसमें कोई वस्तु अपनी मूल वस्तु के सभी गुणों और व्यवहारों को स्वतः प्राप्त कर लेती है। आप अन्य वर्गों में परिभाषित विशेषताओं और कार्यों को संशोधित कर सकते हैं।

वह वर्ग जो किसी अन्य वर्ग के सदस्यों को विरासत में मिला है, व्युत्पन्न वर्ग के रूप में जाना जाता है, और जिस वर्ग के सदस्यों को विरासत में मिला है उसे आधार वर्ग के रूप में जाना जाता है। व्युत्पन्न वर्ग बेस क्लास के लिए विशिष्ट वर्ग है।

वंशानुक्रम के प्रकार

    एकल विरासतविरासत का प्रकार है जिसमें व्युत्पन्न वर्ग केवल एक आधार वर्ग से विरासत में मिला है।

'ए' आधार वर्ग है,

'बी' एक व्युत्पन्न वर्ग है।

सीप्लसप्लस
    बहुस्तरीय विरासतएक वर्ग को दूसरे व्युत्पन्न वर्ग से प्राप्त करने की एक प्रक्रिया है। क्लास सी को क्लास बी के गुण विरासत में मिलते हैं और क्लास बी को क्लास बी के गुण विरासत में मिलते हैं। ए, बी का पैरेंट क्लास है और क्लास बी, सी का पैरेंट क्लास है।
img 617dd1cc84e68
    एकाधिक विरासतएक व्युत्पन्न वर्ग एक बेस क्लास या अधिक से बनाया जाता है। क्लास सी को क्लास बी और क्लास ए के गुण और व्यवहार विरासत में मिलते हैं। इसलिए, क्लास ए और क्लास बी क्लास सी के लिए पैरेंट क्लास हैं।
img 617dd1ccd67cc
  • में बहुपथ विरासत, एक व्युत्पन्न वर्ग दूसरे व्युत्पन्न वर्ग और दूसरे व्युत्पन्न वर्ग के समान आधार वर्ग से बनाया गया है। यह विरासत द्वारा समर्थित नहीं है। जाल सी #, एफ #, आदि जैसी भाषाएं।

क्लास डी को क्लास सी और क्लास बी के साथ-साथ क्लास ए के गुण और व्यवहार विरासत में मिलते हैं। क्लास सी, और क्लास बी को क्लास ए विरासत में मिलता है। क्लास ए क्लास बी और क्लास सी और क्लास डी के लिए अभिभावक है।

img 617dd1cd9230a
    संकर विरासतएक से अधिक विरासतों का संयोजन है। इसलिए, यह मल्टीलेवल इनहेरिटेंस और मल्टीपल इनहेरिटेंस और मल्टीलेवल इनहेरिटेंस और मल्टीपाथ इनहेरिटेंस मल्टीलेवल और मल्टीपल इनहेरिटेंस का संयोजन हो सकता है।
img 617dd1cdf0c4e

सी++ एक्सेस संशोधक

एक्सेस संशोधक का उपयोग ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग के एक आवश्यक पहलू को लागू करने के लिए किया जाता है जिसे डेटा छिपाने के रूप में जाना जाता है। क्लास में एक्सेस मॉडिफायर का उपयोग क्लास के सदस्यों को एक्सेस असाइन करने के लिए किया जाता है। यह कक्षा के सदस्यों पर बाहरी कार्यों द्वारा सीधे प्रवेश न करने के लिए कुछ प्रतिबंध लगाता है।

C++ में तीन प्रकार के एक्सेस संशोधक उपलब्ध हैं:

  • जनता
  • निजी
  • संरक्षित

आइए उन पर विस्तार से चर्चा करें:

जनता

सार्वजनिक विनिर्देशक के तहत घोषित सभी वर्ग सदस्य सभी के लिए उपलब्ध हैं। सार्वजनिक के रूप में घोषित सदस्य कार्यों को अन्य वर्गों और कार्यों द्वारा भी पहुँचा जा सकता है। किसी वर्ग के सार्वजनिक सदस्यों को उस वर्ग के ऑब्जेक्ट के साथ एक्सेस ऑपरेटर (.) का उपयोग करके प्रोग्राम में कहीं से भी एक्सेस किया जा सकता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

निजी

वर्ग के अंदर सदस्य कार्य केवल उस वर्ग के सदस्यों तक पहुँच सकते हैं जिन्हें निजी घोषित किया गया है। उन्हें कक्षा के बाहर किसी भी वस्तु या कार्य द्वारा सीधे एक्सेस नहीं किया जा सकता है। कक्षा के सदस्यों के निजी डेटा तक पहुंचने के लिए केवल मित्र कार्यों की अनुमति है।

उदाहरण

|_+_|

आउटपुट

|_+_|

संरक्षित

एक संरक्षित एक्सेस संशोधक एक निजी एक्सेस संशोधक के समान है क्योंकि इसे अपनी कक्षा के बाहर तब तक एक्सेस नहीं किया जा सकता है, जब तक कि किसी मित्र वर्ग की सहायता से, अंतर यह नहीं है कि जिस वर्ग के सदस्यों को संरक्षित घोषित किया जाता है, उन्हें किसी भी व्युत्पन्न वर्ग द्वारा एक्सेस किया जा सकता है। उस वर्ग का भी।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ ओवरलोडिंग

C++ प्रोग्रामिंग भाषा आपको a . के लिए एक से अधिक परिभाषाएँ निर्दिष्ट करने की अनुमति देती है समारोह नाम या कोई ऑपरेटर एक ही दायरे में, कहा जाता है फंक्शन ओवरलोडिंग तथा ऑपरेटर ओवरलोडिंग , क्रमश।

एक अतिभारित घोषणा को उसी नाम से घोषित किया जाता है जैसा कि एक ही दायरे में पहले घोषित घोषणा के रूप में होता है, सिवाय इसके कि दोनों घोषणाओं में अलग-अलग तर्क और अलग-अलग परिभाषाएं होती हैं।

फंक्शन ओवरलोडिंग

फ़ंक्शन ओवरलोडिंग एक ऐसी सुविधा है जो आपको एक ही नाम वाले एक से अधिक फ़ंक्शन रखने की पेशकश करती है लेकिन एक अलग पैरामीटर सूची।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ बहुरूपता

ऑपरेटर ओवरलोडिंग

आप ऑपरेटरों को उपयोगकर्ता द्वारा परिभाषित कक्षाओं के लिए काम कर सकते हैं। इसका मतलब है कि सी ++ ऑपरेटरों को डेटा प्रकार के लिए विशेष अर्थ प्रदान कर सकता है। इसे ऑपरेटर ओवरलोडिंग के रूप में जाना जाता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

यह वस्तु-उन्मुख प्रोग्रामिंग की एक महत्वपूर्ण अवधारणा है। इसका अर्थ है एक से अधिक रूप। यही है, एक ही इकाई अलग-अलग परिदृश्यों में अलग-अलग व्यवहार करती है।

फंक्शन ओवरराइडिंग

आप बेस क्लास के साथ-साथ व्युत्पन्न कक्षाओं में भी वही कार्य कर सकते हैं। जब आप व्युत्पन्न वर्ग के किसी ऑब्जेक्ट का उपयोग करके फ़ंक्शन को कॉल करते हैं, तो व्युत्पन्न वर्ग के फ़ंक्शन को बेस क्लास के बजाय निष्पादित किया जाता है।

इसलिए, फ़ंक्शन को कॉल करने वाली वस्तु के आधार पर विभिन्न कार्यों को निष्पादित किया जाता है। इसे फ़ंक्शन ओवरराइडिंग कहा जाता है

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ वर्चुअल फंक्शंस

सी ++ में, यदि हम व्युत्पन्न वर्ग के किसी ऑब्जेक्ट को इंगित करने के लिए बेस क्लास पॉइंटर का उपयोग करते हैं तो आप फ़ंक्शंस को ओवरराइड करने में सक्षम नहीं हो सकते हैं।

बेस क्लास में वर्चुअल फ़ंक्शंस का उपयोग सुनिश्चित करता है कि इन मामलों में फ़ंक्शन को ओवरराइड किया जा सकता है। इस प्रकार, वर्चुअल फ़ंक्शन फ़ंक्शन ओवरराइडिंग के अंतर्गत आते हैं।

शुद्ध आभासी कार्य

यह संभव है कि आप आधार वर्ग में वर्चुअल फ़ंक्शन शामिल करना चाहते हैं ताकि उस वर्ग की वस्तुओं के अनुरूप व्युत्पन्न कक्षा में इसे फिर से परिभाषित किया जा सके, लेकिन कोई सार्थक परिभाषा नहीं है जिसे आप बेस क्लास में फ़ंक्शन के लिए दे सकते हैं .

उदाहरण

|_+_|

सी ++ डेटा एब्स्ट्रैक्शन

डेटा एब्स्ट्रैक्शन सी ++ में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की आवश्यक विशेषताओं में से एक है। एब्स्ट्रैक्शन का अर्थ है केवल प्रासंगिक जानकारी प्रदर्शित करना और विवरण छिपाना। डेटा एब्स्ट्रैक्शन का तात्पर्य बाहरी दुनिया के डेटा के बारे में केवल आवश्यक जानकारी प्रदान करना, पृष्ठभूमि विवरण या कार्यान्वयन को छिपाना है।

कक्षाओं का उपयोग करके अमूर्तता

आप कक्षाओं की मदद से एब्स्ट्रैक्शन को C++ में लागू कर सकते हैं। क्लास आपको उपलब्ध एक्सेस स्पेसिफायर का उपयोग करके डेटा सदस्यों और सदस्य कार्यों को समूहबद्ध करने में मदद करती है। एक वर्ग यह तय कर सकता है कि कौन सा डेटा सदस्य बाहरी दुनिया को दिखाई देगा और कौन सा नहीं।

एक्सेस स्पेसिफायर का उपयोग करके एब्स्ट्रैक्शन

एक्सेस स्पेसिफायर सी ++ में एब्स्ट्रैक्शन को लागू करने में महत्वपूर्ण भूमिका निभाते हैं। आप कक्षा के सदस्यों पर प्रतिबंध लागू करने के लिए एक्सेस स्पेसिफायर का उपयोग कर सकते हैं। उदाहरण के लिए:

  • किसी कक्षा में सार्वजनिक घोषित किए गए सदस्यों को कार्यक्रम में कहीं से भी एक्सेस किया जा सकता है।
  • एक वर्ग में निजी घोषित किए गए सदस्यों को केवल कक्षा के भीतर से ही पहुँचा जा सकता है। उन्हें कक्षा के बाहर कोड के किसी भी भाग से एक्सेस करने की अनुमति नहीं है।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी ++ डेटा एनकैप्सुलेशन

यह वर्ग नामक एक इकाई में कार्यों और डेटा सदस्यों के संयोजन की प्रक्रिया है। यह सीधे डेटा तक पहुंच को रोकने के लिए है। उन तक पहुंच कक्षा के कार्यों के माध्यम से प्रदान की जाती है। यह ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की लोकप्रिय विशेषताओं में से एक है जो डेटा छिपाने में मदद करता है।

इसे लागू करने के लिए

  • सभी डेटा सदस्यों को निजी बनाएं।
  • प्रत्येक डेटा सदस्य के लिए एक सार्वजनिक सेटर और गेट्टर फ़ंक्शन बनाएं ताकि सेट फ़ंक्शन डेटा सदस्य का मान सेट कर सके, और फ़ंक्शन प्राप्त करें डेटा सदस्य का मान प्राप्त करें

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ एब्सट्रैक्ट क्लासेस

C++ क्लास को इसके एक फंक्शन को वाइटल> प्योर वर्चुअल फंक्शन के रूप में घोषित करके एब्सट्रैक्ट बनाया गया है। इसकी घोषणा में = 0 रखकर एक शुद्ध वर्चुअल फ़ंक्शन का उल्लेख किया गया है। व्युत्पन्न वर्गों को अपना कार्यान्वयन प्रदान करना चाहिए।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी ++ फ़ाइलें और स्ट्रीम

हां नहीं डाटा प्रकार विवरण
एक ऑफस्ट्रीम यह आउटपुट फाइल स्ट्रीम का प्रतिनिधित्व करता है और इसका उपयोग फाइल बनाने और फाइलों में जानकारी लिखने के लिए किया जाता है।
दो इफस्ट्रीम यह इनपुट फ़ाइल स्ट्रीम का प्रतिनिधित्व करता है और इसका उपयोग फाइलों से जानकारी पढ़ने के लिए किया जाता है।
3 fstream यह आम तौर पर फाइल स्ट्रीम का प्रतिनिधित्व करता है और इसमें ऑफस्ट्रीम और इफस्ट्रीम दोनों की क्षमता होती है।

एक फाइल खोलना

फ़ाइल को पढ़ने या लिखने से पहले एक फ़ाइल खोली जानी चाहिए। फ़ाइल को लिखने के लिए खोलने के लिए fstream या ofstream ऑब्जेक्ट का उपयोग किया जा सकता है। एक ifstream ऑब्जेक्ट का उपयोग फ़ाइल को केवल पढ़ने के उद्देश्य से खोलने के लिए किया जाता है।

हां नहीं मोड फ्लैग विवरण
एक ios::ate फ़ाइल के सभी आउटपुट को अंत में जोड़ा जाना है।
दो आईओएस :: ऐप यह आउटपुट के लिए एक फ़ाइल खोलता है और फ़ाइल के अंत में पढ़ने या लिखने के नियंत्रण को स्थानांतरित करता है।
3 आईओएस :: ट्रंक यदि फ़ाइल पहले से मौजूद है, तो फ़ाइल खोलने से पहले सामग्री को छोटा कर दिया जाएगा।
4 आईओएस :: आउट यह लिखने के लिए एक फाइल खोलता है।
5 ios::in यह पढ़ने के लिए एक फाइल खोलता है।

वाक्य - विन्यास

|_+_|

एक फाइल बंद करना

जब एक सी ++ प्रोग्राम समाप्त हो जाता है तो यह स्वचालित रूप से सभी धाराओं को फ्लश करता है, सभी आवंटित स्मृति को छोड़ देता है और खोली गई सभी फाइलों को बंद कर देता है।

वाक्य - विन्यास

|_+_|

एक फ़ाइल से पढ़ना

आप स्ट्रीम एक्सट्रैक्शन ऑपरेटर (>>) का उपयोग करके किसी फ़ाइल से अपने प्रोग्राम में जानकारी पढ़ सकते हैं। फर्क सिर्फ इतना है कि आप सिने ऑब्जेक्ट के बजाय fstream या ifstream ऑब्जेक्ट का उपयोग करते हैं।

उदाहरण पढ़ें और लिखें

|_+_|

आउटपुट

|_+_|

फ़ाइल स्थिति सूचक

ostream और istream दोनों फाइल-पोजिशन पॉइंटर को रिपोजिशन करने के लिए मेंबर फंक्शन प्रदान करते हैं। ये सदस्य कार्य ओस्ट्रीम के लिए खोज रहे हैं और आईस्ट्रीम की तलाश कर रहे हैं। तलाशने और तलाशने का तर्क एक लंबा पूर्णांक है। खोज की दिशा को इंगित करने के लिए एक दूसरे तर्क का उल्लेख किया जा सकता है।

सी ++ अपवाद हैंडलिंग

सी ++ में अपवाद हैंडलिंग रनटाइम त्रुटियों को संभालने की एक प्रक्रिया है। आप अपवाद हैंडलिंग करते हैं ताकि रनटाइम त्रुटियों के बाद भी एप्लिकेशन के सामान्य प्रवाह को बनाए रखा जा सके।

सी ++ में, अपवाद एक घटना या वस्तु है जिसे रनटाइम पर फेंक दिया जाता है। सभी अपवाद std::Exception वर्ग से लिए गए हैं। यदि हम अपवाद को नहीं संभालते हैं, तो यह अपवाद संदेश को प्रिंट करता है और कार्यक्रम को समाप्त कर देता है।

अपवाद विवरण
एसटीडी :: bad_exception इसका उपयोग अप्रत्याशित अपवादों को संभालने के लिए किया जाता है।
एसटीडी :: तर्क_विफलता एक कोड पढ़कर इसका पता लगाया जा सकता है।
एसटीडी :: bad_typeid इसे आम तौर पर टाइपिड द्वारा फेंका जाता है।
एसटीडी::runtime_error एक कोड को पढ़कर इसका पता नहीं लगाया जा सकता है।
एसटीडी :: अपवाद यह सभी मानक C++ अपवादों का अपवाद और मूल वर्ग है।
एसटीडी::bad_cast इसे आम तौर पर डायनामिक_कास्ट द्वारा फेंका जाता है।
एसटीडी::bad_alloc यह आम तौर पर नए द्वारा फेंका जाता है।

C++ एक्सेप्शन हैंडलिंग तीन कीवर्ड्स पर आधारित है: पकड़ने की कोशिश, तथा फेंकना .

    कोशिश करो- try ब्लॉक कोड के एक ब्लॉक की पहचान करता है जिसके लिए एक विशेष अपवाद सक्रिय किया जाएगा। एक या अधिक कैच ब्लॉक इसका अनुसरण करते हैं।पकड़- एक प्रोग्राम एक अपवाद हैंडलर के माध्यम से एक अपवाद को पकड़ता है। कैच कीवर्ड एक अपवाद को पकड़ने को दर्शाता है।फेंकना- जब कोई समस्या दिखाई देती है तो प्रोग्राम अपवाद को फेंक देता है। यह थ्रो कीवर्ड का उपयोग करके किया जाता है।

उदाहरण

|_+_|

सी++ डायनामिक मेमोरी

मेमोरी को दो भागों में बांटा गया है -

    ढेर- फंक्शन के अंदर घोषित सभी वेरिएबल स्टैक से मेमोरी लेते हैं।ढेर- यह प्रोग्राम की अप्रयुक्त मेमोरी है, और इसका उपयोग प्रोग्राम के चलने पर मेमोरी को गतिशील रूप से आवंटित करने के लिए किया जाता है।

प्रोग्राम चल रहा है, जबकि प्रोग्रामर गतिशील रूप से भंडारण स्थान आवंटित कर सकते हैं। फिर भी, प्रोग्रामर नए चर नाम नहीं बना सकते हैं, और इस कारण से, गतिशील आवंटन के लिए दो मानदंडों की आवश्यकता होती है:

  • स्मृति में एक गतिशील स्थान बनाना
  • एक सूचक में अपना पता संग्रहीत करना

मेमोरी डी-एलोकेशन इस अवधारणा का भी एक हिस्सा है जहां अन्य डेटा स्टोरेज के लिए जगह की सफाई की जाती है। डायनेमिक मेमोरी को डी-आवंटित करने के लिए, आप डिलीट ऑपरेटर का उपयोग कर सकते हैं। तो, गतिशील स्मृति आवंटन मैन्युअल रूप से गतिशील स्मृति आवंटन के लिए स्मृति प्रबंधन करने के लिए संदर्भित करता है।

नया और डिलीट ऑपरेटर्स

यहां, डेटा-प्रकार कोई भी अंतर्निहित डेटा प्रकार हो सकता है जिसमें एक सरणी शामिल होती है, या उपयोगकर्ता-परिभाषित डेटा प्रकारों में वर्ग या संरचना होती है। आइए बिल्ट-इन डेटा प्रकारों से शुरू करें

वाक्य - विन्यास

|_+_|

जब आप एक चर महसूस करते हैं जो गतिशील रूप से आवंटित नहीं है और अब इसकी आवश्यकता नहीं है, तो आप मुफ्त स्टोर में मेमोरी को मुक्त कर सकते हैं 'हटाएं' ऑपरेटर।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

सरणियों का गतिशील स्मृति आवंटन

यदि आप एक प्रोग्रामर के रूप में; उसी सिंटैक्स की मदद से वर्णों की एक सरणी के लिए मेमोरी आवंटित करना चाहते हैं जो आप कर सकते हैं।

उदाहरण

|_+_|

नामस्थान आपको नामित संस्थाओं के समूह की पेशकश करते हैं जिनके पास वैश्विक कार्यक्षेत्र संकीर्ण दायरे में, उन्हें दे रहे हैं नेमस्पेस स्कोप . यह कार्यक्रमों के तत्वों को नामों से संदर्भित विभिन्न तार्किक क्षेत्रों में व्यवस्थित करने की भी अनुमति देता है। नाम स्थान C++ में मौजूद एक विशेषता है और C में मौजूद नहीं है। समान नाम वाले एकाधिक नामस्थान ब्लॉक की अनुमति है। ब्लॉक के भीतर सभी घोषणाएं नामित दायरे में घोषित की जाती हैं।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

असंतत नामस्थान

एक नेमस्पेस को कई हिस्सों में परिभाषित किया गया है और एक नेमस्पेस इसके परिभाषित भागों के योग से बना है। नेमस्पेस के अलग-अलग हिस्से कई फाइलों में फैले हुए हैं।

वाक्य - विन्यास

|_+_|

नेस्टेड नेमस्पेस

यहां आप एक नाम स्थान को दूसरे नाम स्थान के अंदर परिभाषित कर सकते हैं

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

सी ++ टेम्पलेट्स

टेम्प्लेट C++ की एक विशेषता है जो आपको सामान्य प्रोग्राम लिखने की पेशकश करता है। दूसरे शब्दों में, आप टेम्प्लेट का उपयोग करके विभिन्न डेटा प्रकारों के साथ काम करने के लिए एक एकल फ़ंक्शन या एक वर्ग बना सकते हैं। कोड लचीलेपन और कार्यक्रमों की पुन: प्रयोज्यता के लिए बड़े कोडबेस में टेम्प्लेट का उपयोग किया जाता है।

इन अवधारणाओं का उपयोग दो तरह से किया जाता है:

  • समारोह टेम्पलेट्स
  • कक्षा टेम्पलेट्स

समारोह टेम्पलेट्स

एक फ़ंक्शन टेम्प्लेट एक सामान्य फ़ंक्शन की तरह ही काम करता है, जिसमें एक महत्वपूर्ण अंतर होता है।

एक एकल फ़ंक्शन टेम्प्लेट विभिन्न डेटा प्रकारों के साथ काम कर सकता है, लेकिन, एक सामान्य फ़ंक्शन डेटा प्रकारों के एक सेट के साथ काम कर सकता है।

आम तौर पर, यदि आप कई प्रकार के डेटा पर समान संचालन करना चाहते हैं, तो आप फ़ंक्शन घोषणा के साथ फ़ंक्शन बनाने के लिए फ़ंक्शन ओवरलोडिंग का उपयोग कर सकते हैं।

हालांकि, फ़ंक्शन टेम्प्लेट का उपयोग करने के लिए एक बेहतर तरीका होगा क्योंकि आप एक ही कार्य को कम और रखरखाव योग्य कोड लिखकर कर सकते हैं।

उदाहरण

|_+_|

आउटपुट

|_+_|

कक्षा टेम्पलेट्स

फ़ंक्शन टेम्प्लेट की तरह, आप क्लास ऑपरेशंस के लिए क्लास टेम्प्लेट बना सकते हैं। आमतौर पर, आपको प्रत्येक डेटा प्रकार के लिए एक अलग वर्ग बनाने या एकल वर्ग के भीतर अन्य सदस्य चर और फ़ंक्शन बनाने की आवश्यकता होगी।

यह आपके कोडबेस को अनावश्यक रूप से फुला देगा और इसे बनाए रखना कठिन होगा, क्योंकि सभी वर्गों/कार्यों पर एक वर्ग/कार्य में परिवर्तन किया जाना चाहिए। हालांकि क्लास टेम्प्लेट सभी डेटा प्रकारों के लिए समान कोड का पुन: उपयोग करना आसान बनाते हैं।

उदाहरण

|_+_|

आउटपुट

|_+_|

सी++ प्रीप्रोसेसर

प्रीप्रोसेसर निर्देश हैश साइन (#) से पहले प्रोग्राम के कोड में शामिल लाइनें हैं। ये पंक्तियाँ क्रमादेशित कथन नहीं हैं बल्कि प्रीप्रोसेसर के लिए निर्देश हैं। प्रीप्रोसेसर कोड का संकलन शुरू होने से पहले कोड की जांच करता है और नियमित स्टेटमेंट से कोई कोड उत्पन्न करने से पहले सभी निर्देशों को हल करता है।

प्रीप्रोसेसर निर्देश कोड की एक पंक्ति में फैले हुए हैं। जैसे ही न्यूलाइन कैरेक्टर मिलता है, प्रीप्रोसेसर निर्देश समाप्त हो जाता है।

प्रीप्रोसेसर निर्देश के 4 मुख्य प्रकार हैं:

  • मैक्रो
  • फ़ाइल शामिल करना
  • सशर्त संकलन
  • अन्य निर्देश

मैक्रो

मैक्रोज़ कोड का एक टुकड़ा है जिसे कुछ नाम दिया जाता है। जब भी संकलक इस नाम का सामना करता है, तो यह नाम को वास्तविक कोड के साथ बदल देता है। मैक्रो को परिभाषित करने के लिए '#define' निर्देश का उपयोग किया जाता है।

उदाहरण

|_+_|

आउटपुट

|_+_|

पूर्वनिर्धारित C++ मैक्रोज़

    __रेखा__

इसमें प्रोग्राम का लाइन नंबर होता है जब प्रोग्राम को कंपाइल किया जा रहा होता है।

    __फ़ाइल__

इसमें प्रोग्राम का वर्तमान फ़ाइल नाम शामिल है जब इसे संकलित किया जा रहा है।

    __दिनांक__

इसमें स्ट्रिंग है जो स्रोत फ़ाइल के ऑब्जेक्ट कोड में अनुवाद की तिथि है।

    __समय__

इसमें घंटे: मिनट: सेकंड की एक स्ट्रिंग होती है, जो वह समय है जिस पर कार्यक्रम संकलित किया गया था।

फ़ाइल समावेशन

यह प्रीप्रोसेसर निर्देश कंपाइलर को प्रोग्राम में एक फाइल शामिल करने के लिए कहता है। कार्यक्रम में उपयोगकर्ता द्वारा दो प्रकार की फाइलें रखी जाती हैं:

    हैडर फ़ाइल या मानक फ़ाइलें: इन फाइलों में प्रिंटफ (), स्कैनफ () आदि जैसे पूर्व-परिभाषित कार्यों की परिभाषा होती है। इन फाइलों को इन कार्यों के साथ काम करने के लिए शामिल किया जाना चाहिए। अलग हेडर फाइलों में एक अलग फ़ंक्शन घोषित किया जाता है।उपयोगकर्ता द्वारा परिभाषित फ़ाइलें: जब कोई प्रोग्राम जबरदस्त हो जाता है, तो उसे छोटी फाइलों में विभाजित करना और जब भी जरूरत हो, शामिल करना अच्छा होता है। इस प्रकार की फाइलें उपयोगकर्ता द्वारा परिभाषित फाइलें हैं।

सशर्त संकलन

यह कार्यक्रम के एक विशिष्ट भाग को संकलित करने या कुछ शर्तों के आधार पर कार्यक्रम के कुछ विशेष भाग के संकलन को छोड़ने में मदद करता है।

वाक्य - विन्यास

|_+_|

अन्य निर्देश

ऊपर बताए गए निर्देशों के अलावा यहां दो और निर्देश दिए गए हैं जिनका आमतौर पर उपयोग नहीं किया जाता है। ये:

    #undef निर्देश: #undef निर्देश का प्रयोग किसी मौजूदा मैक्रो को अपरिभाषित करने के लिए किया जाता है।#pragma निर्देश: यह एक विशेष प्रयोजन निर्देश है, और इसका उपयोग कुछ सुविधाओं को चालू या बंद करने के लिए किया जाता है।

सी ++ सिग्नल हैंडलिंग

सिग्नल वे रुकावटें हैं जो ऑपरेटिंग सिस्टम एक प्रक्रिया को प्रदान करता है जो एक प्रोग्राम को समय से पहले समाप्त कर देगा। यूनिक्स पर Ctrl+C दबाकर, लिनक्स , मैक ओएस एक्स या विंडोज मशीन, आप इंटरप्ट बना सकते हैं।

ऐसे संकेत हैं जिनका सॉफ़्टवेयर पता नहीं लगा सकता है, लेकिन संकेतों की एक सूची है जिसे आप अपने प्रोग्राम में पकड़ सकते हैं और स्वीकार्य सिग्नल-आधारित कार्रवाई कर सकते हैं। C++ हेडर फाइल इन संकेतों का वर्णन करती है।

हां नहीं संकेत विवरण
एक SIGFPE एक गलत अंकगणितीय ऑपरेशन, जैसे शून्य विराम या अतिप्रवाह ऑपरेशन।
दो सिगब्रत असामान्य कार्यक्रम समाप्ति, जैसे निरस्त करने के लिए कॉल।
3 सिगिनट इंटरैक्टिव फोकस के संकेत की प्राप्ति
4 सील एक अवैध निर्देश की खोज।
5 सिगटरम कार्यक्रम के लिए एक समाप्ति अनुरोध प्रस्तुत किया।
6 SIGSEGV अमान्य डिस्क एक्सेस।

सिग्नल () फ़ंक्शन

C++ सिग्नल हैंडलिंग लाइब्रेरी में अप्रत्याशित घटनाओं को ट्रैप करने के लिए एक सिग्नल फीचर शामिल है।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

बढ़ाएँ () फ़ंक्शन

बढ़ाएँ () फ़ंक्शन के साथ, जो एक तर्क के रूप में एक पूर्णांक संकेत संख्या लेता है, आप संकेत उत्पन्न कर सकते हैं।

वाक्य - विन्यास

|_+_|

उदाहरण

|_+_|

आउटपुट

|_+_|

मल्टीथ्रेडिंग एक विशेष प्रकार का मल्टीटास्किंग है और वह फ़ंक्शन जो आपकी मशीन को एक साथ दो या दो से अधिक प्रोग्राम चलाने में सक्षम बनाता है, एक मल्टीटास्किंग फ़ंक्शन है। सामान्य तौर पर दो प्रकार के मल्टीटास्किंग होते हैं: प्रक्रिया-आधारित और थ्रेड-आधारित। प्रोग्राम के समानांतर निष्पादन को प्रक्रिया-आधारित मल्टीटास्किंग द्वारा नियंत्रित किया जाता है। थ्रेड्स पर आधारित मल्टीटास्किंग एक ही प्रोग्राम के कुछ हिस्सों के समानांतर निष्पादन से संबंधित है। मल्टीथ्रेडेड प्रोग्राम के दो या तीन घटक होते हैं जो एक साथ चलेंगे।

वाक्य - विन्यास

|_+_|
हां नहीं पैरामीटर विवरण
एक गुस्सा एक एकल कथन जिसे रूटीन-स्टार्ट के लिए अग्रेषित किया जा सकता है। इसे तुलनात्मक रूप से शून्य प्रकार के पॉइंटर कास्ट के रूप में स्थानांतरित किया जाना चाहिए। जब स्थानांतरित करने के लिए कोई तर्क नहीं है तो NULL का उपयोग किया जा सकता है।
दो धागा वर्तमान थ्रेड के लिए एक अपारदर्शी, विशेष पहचानकर्ता जो सबरूटीन लौटाता है।
3 attr एक अदृश्य वस्तु विशेषता जिसका उपयोग थ्रेड विशेषताओं को सेट करने के लिए किया जा सकता है। आप किसी ऑब्जेक्ट को थ्रेड गुणों के साथ, या NULL को डिफ़ॉल्ट मानों के साथ परिभाषित कर सकते हैं।
4 start_routine C++ रूटीन जो एक बार स्थापित हो जाने पर, थ्रेड निष्पादित होगा।

थ्रेड टर्मिनेटिंग

POSIX थ्रेड को समाप्त करने के लिए हम निम्नलिखित रूटीन का उपयोग करते हैं:

|_+_|

यहां, थ्रेड से सीधे बाहर निकलने के लिए pthread exit का उपयोग किया जाता है। आमतौर पर, एक बार जब कोई थ्रेड अपना काम पूरा कर लेता है और उसे कार्य करने की आवश्यकता नहीं रह जाती है, तो pthread exit() रूटीन को नाम दिया जाता है।

यदि मुख्य () थ्रेड के उत्पादन से पहले pthread निकास () के साथ समाप्त और बाहर निकलता है, तो अन्य थ्रेड चलना शुरू हो सकते हैं। अन्यथा जैसे ही मुख्य () समाप्त होता है, उन्हें तुरंत समाप्त कर दिया जाता है

धागे में प्रवेश और अलग करना

थ्रेड्स को दर्ज करने या हटाने के लिए हम दो रूटीन का उपयोग कर सकते हैं।

|_+_|

सबरूटीन पाथ्रेड जॉइन () कॉलिंग थ्रेड को तब तक ब्लॉक करता है जब तक कि 'थ्रेडिड' थ्रेड समाप्त नहीं हो जाता। इसकी एक विशेषता यह निर्धारित करती है कि धागा बनने पर यह जुड़ने योग्य है या अलग। इसे केवल उन थ्रेड्स से जोड़ा जा सकता है जो जुड़ने योग्य के रूप में उत्पन्न होते हैं। यदि एक धागा अलग होकर बनता है तो इसे कभी नहीं जोड़ा जा सकता है।

सी++ वेब प्रोग्रामिंग

और सीजीआई क्या है?

वेब सर्वर और एक कस्टम स्क्रिप्ट के बीच जानकारी कैसे साझा की जाती है, इसका वर्णन करने वाले दिशानिर्देशों का एक संग्रह विशिष्ट गेटवे इंटरफ़ेस या CGI है। बाहरी गेटवे सिस्टम के लिए, जेनेरिक गेटवे इंटरफ़ेस, या CGI, HTTP सर्वर जैसे सूचना सर्वर के साथ इंटरफेस करने के लिए एक मानक है। सीजीआई/1.1 नवीनतम संस्करण है, और सीजीआई/1.2 विकास में है।

इंटरनेट पर ब्राउज़िंग

आइए देखें कि क्या होता है जब हम सीजीआई की अवधारणा को समझने के लिए एक निश्चित वेब पेज या यूआरएल ब्राउज़ करने के लिए हाइपरलिंक दबाते हैं। आपके ब्राउज़र द्वारा HTTP वेब सर्वर से संपर्क किया जाता है और URL की मांग करता है, अर्थात फ़ाइल नाम द्वारा फ़ाइल नाम। वेब सर्वर URL को पार्स करता है और एक फ़ाइल नाम की तलाश करता है। यदि अनुरोधित फ़ाइल स्थित है, तो वेब सर्वर फ़ाइल को वापस ब्राउज़र में स्थानांतरित कर देगा, अन्यथा, यह एक त्रुटि संदेश भेजेगा जिसमें कहा गया है कि आपने एक अमान्य फ़ाइल का अनुरोध किया है।

पॉपुलर गेटवे इंटरफेस (सीजीआई) एक बुनियादी प्रोटोकॉल है जो एप्लिकेशन को वेब सर्वर और क्लाइंट के साथ संचार करने की अनुमति देता है। इन CGI प्रोग्रामों को Python, PERL, Shell, C या C++ आदि में लिखना संभव है।

उदाहरण

|_+_|

वेबसर्वर विन्यास

सीजीआई प्रोग्रामिंग जारी रखने से पहले सुनिश्चित करें कि वेबसर्वर सीजीआई को स्वीकार करता है और इसे सीजीआई कार्यक्रमों को समायोजित करने के लिए डिज़ाइन किया गया है। कई CGI प्रोग्राम जो HTTP सर्वर चलाता है, एक पूर्व-कॉन्फ़िगर निर्देशिका में स्थित हैं। इस निर्देशिका को CGI निर्देशिका कहा जाता है और इसे परंपरा के अनुसार /var/www/cgi-bin नाम दिया गया है। CGI फ़ाइलों में कन्वेंशन द्वारा .cgi के रूप में एक्सटेंशन होंगे, हालांकि वे C++ के साथ निष्पादन योग्य हैं।

एचटीटीपी हेडर

    सेट-कुकी: स्ट्रिंग

स्ट्रिंग से गुजरने वाली कुकी को कॉन्फ़िगर करें।

    अंतिम-संशोधित: दिनांक

संसाधन के अंतिम अद्यतन की तिथि।

    सामग्री-लंबाई: नहीं

लौटाए गए डेटा की लंबाई, बाइट्स में। किसी फ़ाइल के लिए अनुमानित लोडिंग समय की रिपोर्ट करने के लिए, ब्राउज़र इस मान का उपयोग करता है।

    सामग्री प्रकार:

एक MIME स्ट्रिंग जो स्ट्रिंग के प्रारूप को निर्दिष्ट करती है

    स्थान: यूआरएल

अनुरोधित यूआरएल के बजाय वह यूआरएल जिसे वापस किया जाना चाहिए। इस फ़ाइल का उपयोग किसी अन्य फ़ाइल के अनुरोध को पुनर्निर्देशित करने के लिए किया जाएगा।

    समाप्त: दिनांक

जिस दिन डाटा बेकार हो गया। ब्राउज़र को इसका उपयोग यह तय करने के लिए करना चाहिए कि किसी वेबसाइट को रीफ्रेश करना है या नहीं।

पर्यावरण चर

    सामग्री प्रकार: क्लाइंट द्वारा संलग्न सामग्री को सर्वर पर भेजने पर उपयोग किए जाने वाले सामग्री डेटा का प्रकार। उदाहरण के लिए, फ़ाइलें अपलोड करना, आदि।कंटेंट की लम्बाई: प्रश्नावली जानकारी की अवधि जो केवल POST अनुरोधों के लिए प्राप्त की जा सकती है।HTTP-कुकी: कुंजी और मान युग्म प्रकार में सेट की गई कुकी लौटाता है।एजेंट HTTP उपयोगकर्ता: अनुरोध-शीर्षक उपयोगकर्ता-एजेंट फ़ील्ड उस उपयोगकर्ता एजेंट के बारे में जानकारी प्रदान करता है जिसने अनुरोध शुरू किया था। यह इंटरनेट पर एक ब्राउज़र का नाम है।पथ जानकारी: CGI स्क्रिप्ट फ़ाइल की दिशा।क्वेरी स्ट्रिंग: यूआरएल-एन्कोडेड जानकारी जो जीईटी प्रक्रिया से अनुरोध के साथ सबमिट की जाती है।दूरस्थ अतिरिक्त: दूरस्थ होस्ट का IP पता जो अपील की अनुमति देता है। यह लॉगिंग या प्रमाणीकरण के प्रयोजनों के लिए सहायक हो सकता है।रिमोट होस्ट: चाहने वाले मेजबान का पूरी तरह से योग्य नाम। यदि यह जानकारी उपलब्ध नहीं है, तो आईआर पता प्राप्त करने के लिए रिमोट एडीडीआर का उपयोग करना संभव है।अनुरोध विधि: प्रस्तुतीकरण प्रस्तुत करने के लिए प्रयुक्त पद्धति। GET और POST सबसे लोकप्रिय तरीके हैं।स्क्रिप्ट फ़ाइल नाम: एक सीजीआई लिपि के लिए पूरी सड़कसर्वर का नाम: सर्वर का डोमेन नाम या आईपी पता।सर्वर_सॉफ़्टवेयर: प्रोग्राम का नाम और संस्करण जो सर्वर चल रहा है।

प्राप्त करें और पोस्ट करें तरीके

जब आप अपने ब्राउज़र से किसी भी विवरण को वेबसर्वर और अंततः अपने सीजीआई एप्लिकेशन में स्थानांतरित करने का प्रयास करते हैं, तो आपको कुछ परिदृश्यों में आने की आवश्यकता होती है। इस जानकारी को वेबसर्वर में स्थानांतरित करने के लिए ब्राउज़र द्वारा सबसे अधिक दो तरीकों का उपयोग किया जाता है। वे दृष्टिकोण GET विधि और POST विधि हैं।

URL उदाहरण विधि प्राप्त करें

|_+_|

कुकीज़ का उपयोग करना

HTTP प्रोटोकॉल एक प्रोटोकॉल है जो स्टेटलेस है। लेकिन एक व्यावसायिक वेबसाइट के लिए विभिन्न साइटों के बीच सत्र डेटा को बनाए रखना महत्वपूर्ण है। एक उपयोगकर्ता पंजीकरण, उदाहरण के लिए, कई पृष्ठों के पूरा होने के बाद समाप्त होता है। लेकिन सभी वेब साइटों पर उपयोगकर्ता के लिए सत्र विवरण कैसे रखें। बेहतर विज़िटर अनुभव या साइट आँकड़ों के लिए आवश्यक रुचियों, बिक्री, कमीशन और अन्य विवरणों को याद रखने और निगरानी करने का सबसे विश्वसनीय तरीका कुछ मामलों में कुकीज़ का उपयोग करना है।

कुकी के रूप में, आपका सर्वर विज़िटर की विंडो में कुछ डेटा स्थानांतरित करता है। कुकी को ब्राउज़र द्वारा अनुमोदित किया जाएगा। यदि ऐसा होता है, तो यह विज़िटर की हार्ड ड्राइव पर एक सादे पाठ संग्रह के रूप में सहेजा जाता है। अब कुकी पुनर्प्राप्ति के लिए तैयार है जब उपयोगकर्ता आपके वेब पर किसी अन्य पृष्ठ को हिट करता है। पुनर्प्राप्त होने पर, जो संग्रहीत किया गया था उसे सर्वर द्वारा जाना/याद रखा जाता है।

    समय-सीमा समाप्त-इसका मतलब कुकी की समाप्ति तिथि है। यदि यह रिक्त है, जैसे ही विज़िटर ब्राउज़र से बाहर निकलता है, कुकी समाप्त हो जाएगी।कार्यक्षेत्र- यह साइट का डोमेन नाम प्रदर्शित करता है।पथ- यह कुकी-सेटिंग निर्देशिका या वेब पेज के पथ को इंगित करता है। यदि आप किसी निर्देशिका या टैब से कुकी को हथियाने का प्रयास करते हैं, तो यह शून्य हो सकती है।सुरक्षित-यदि इस फ़ील्ड में सुरक्षित शब्द शामिल है तो केवल एक सुरक्षित सर्वर ही कुकी को पुनर्प्राप्त कर सकता है। यदि यह फ़ील्ड रिक्त है, तो कोई अन्य प्रतिबंध लागू नहीं होता है।नाम = मान-कुंजी और मूल्य जोड़े के रूप में, कुकीज़ सेट और पुनर्प्राप्त की जाती हैं।

उदाहरण फ़ाइल अपलोड

|_+_|

निष्कर्ष

इसके साथ ही हम इस C++ ट्यूटोरियल के अंत में आते हैं। आशा है कि इससे आपको C++ प्रोग्रामिंग की मूल बातें समझने में मदद मिली होगी।