सी++

मुक्त ज्ञानकोश विकिपीडिया से
यहाँ जाएँ: भ्रमण, खोज
सी++
C plus plus.svg
रूपावाली बहु - प्रतिमान, प्रक्रियात्मक, कार्यात्मक, वस्तु उन्मुख, सामान्य
प्रस्तुति वर्ष 1983
रूपकार जार्न स्तार्स्तप
विकासक
प्रमुख कार्यान्वयन सी++ बिल्डर, क्लैंग, कॉमु C/C++, जीसीसी, इंटेल C++ कम्पाइलर, माइक्रोसॉफ्ट विज़ुअल C++, सन स्टूडियो
उपभाषाएँ एम्बेडेड सी++, मैनेज्ड सी++, सी++/सीएलआई, सी++/सीएक्स
प्रभावित किया पर्ल, एलपीसी, लुआ, पाइक , एडा 95 , जावा, पीएचपी, डी, सी99, सी#,</ref> फ़ैलकन, सीड7
प्रचालन तन्त्र मल्टी प्लेटफार्म

सी++ (उच्चारण: सी प्लस-प्लस) एक स्थैतिक टाइप, स्वतंत्र - प्रपत्र, बहु - प्रतिमान संकलित, सामान्य प्रयोजन प्रोग्रामिंग भाषा है। यह एक मध्यस्तरीय भाषा के रूप में जानी जाती है, क्योंकि यह दोनों उच्च स्तर और निम्न स्तर की भाषा सुविधाओं का एक संयोजन है। यह जार्न स्तार्स्तप द्वारा विकसित सी भाषा की वृद्धि के रूप में बेल लेबोरेटरीज में 1979 में शुरू किया गया था। इस भाषा का मूल नाम सी विथ क्लासेस था, जिसे १९८३ में बदल कर सी++ कर दिया गया। यह एक आब्जेक्ट उन्मुखी (ऑब्जेक्ट ओरिएंटेड) भाषा है।

सी++ के डिजाइन का दर्शन[संपादित करें]

जार्न स्तार्स्तप ने द डिजाईन एंड एवोल्युशन ऑफ़ सी++ (1994) में सी++ के बारे में कुछ बातें कहीं, वे इस प्रकार हैं :

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

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

यह कई प्लेटफार्मों पर उपलब्ध यह के कार्यान्वयन के साथ , एक संकलित भाषा है। विभिन्न संगठनों एफएसएफ , LLVM , माइक्रोसॉफ्ट और इंटेल सहित उन्हें प्रदान करते हैं।

सी ++ नवीनतम (और वर्तमान) की पुष्टि की और आईएसओ / आईईसी के रूप में सितंबर 2011 में आईएसओ द्वारा 14,882 प्रकाशित किया जा रहा है जो मानकीकरण के लिए अंतर्राष्ट्रीय संगठन ( आईएसओ ) द्वारा मानकीकृत है : । (अनौपचारिक सी ++ 11 के रूप में जाना जाता है) 2011 [4] , मानक 2003: तो सी ++ 03 से संशोधन किया गया था जो 1998 , आईएसओ / आईईसी 14882 : सी ++ प्रोग्रामिंग भाषा शुरू में आईएसओ / आईईसी 14882 के रूप में 1998 में मानकीकृत किया गया था। मौजूदा मानक ( सी ++ 11) नई सुविधाओं और एक बढ़े मानक पुस्तकालय के साथ , इन प्रतिस्थापित करता है।

मानकीकरण ( बाद 1989) से पहले, सी ++ भी कार्यक्रम संगठन के लिए उच्च स्तर की सुविधाएँ प्रदान की है कि (सी ) की तरह एक कुशल लचीला भाषा चाहता था , जो 1979 में शुरू, बेल लेबोरेटरीज में Bjarne Stroustrup द्वारा विकसित किया गया था ।

कई अन्य प्रोग्रामिंग भाषाओं सी #, जावा , और सी के नए संस्करणों सहित , सी ++ द्वारा प्रभावित किया गया हैI

इन्हें भी देखें[संपादित करें]

Bjarne Stroustrup , एक डेनिश कंप्यूटर वैज्ञानिक , एक नई भाषा अपने पीएच.डी. के लिए प्रोग्रामिंग में Stroustrup के अनुभव से उत्पन्न बनाने के लिए 1979 [5] प्रेरणा में सी ++ के पूर्ववर्ती "वर्गों के साथ सी ' पर अपने काम शुरू किया थीसिस । Stroustrup सिमुला बड़ी सॉफ्टवेयर के विकास के लिए बहुत ही मददगार थे कि सुविधाओं पड़ा मिला , लेकिन बीसीपीएल तेजी से लेकिन बहुत कम स्तर बड़ी सॉफ्टवेयर विकास के लिए उपयुक्त हो गया था , जबकि भाषा , व्यावहारिक प्रयोग के लिए भी धीमी थी। Stroustrup एटी एंड टी बेल लेबोरेटरीज में काम शुरू कर दिया है, वह कंप्यूटिंग वितरित करने के लिए सम्मान के साथ यूनिक्स कर्नेल का विश्लेषण करने में समस्या थी। अपने पीएच.डी. याद अनुभव , Stroustrup सिमुला - जैसी सुविधाओं के साथ सी भाषा को बढ़ाने के लिए निकल पड़े। यह तेजी से पोर्टेबल है और व्यापक रूप से इस्तेमाल सामान्य उद्देश्य था, क्योंकि [6] सी चुना गया था। के रूप में अच्छी तरह से सी और सिमुला का प्रभाव पड़ता है, अन्य भाषाओं में भी ALGOL 68, एडीए , CLU और एमएल , सहित , C ++ प्रभावित के रूप में ।

प्रारंभ में, वर्ग, व्युत्पन्न वर्ग , मजबूत टाइपिंग , इनलाइनिंग , और डिफ़ॉल्ट तर्क सुविधाओं Stroustrup की ' सी वर्ग के साथ ' सी संकलक , Cpre करने के माध्यम से सी करने के लिए जोड़ा गया था। [7]

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

अभी तक एक सरकारी मानक वहाँ नहीं था के रूप में 1985 में, सी ++ प्रोग्रामिंग भाषा के पहले संस्करण में , भाषा के लिए निश्चित संदर्भ बन गया है, जो जारी किया गया था । [8] सी ++ का पहला वाणिज्यिक कार्यान्वयन उसी वर्ष अक्टूबर में जारी किया गया था । [5]

1989 सी ++ में 2.0 [9] 2.0 में नई सुविधाएँ एकाधिक विरासत , सार कक्षाएं, स्थिर सदस्य कार्यों , const के सदस्य काम करता है, और संरक्षित सदस्यों शामिल 1991 में सी ++ प्रोग्रामिंग भाषा का अद्यतन दूसरे संस्करण के द्वारा पीछा जारी किया गया था । 1990 में, एनोटेट सी ++ संदर्भ मैनुअल प्रकाशित किया गया था । इस काम के भविष्य के मानक के लिए आधार बन गया। स्वर्गीय फीचर जोड़ टेम्पलेट्स , अपवाद, नामस्थान , नई डाले, और एक बूलियन प्रकार शामिल थे।

2011 में, सी ++ 11 2014 और 2017 के लिए योजना बनाई अधिक परिवर्धन के साथ , का उपयोग करने के लिए सी ++ प्रोग्रामर और अधिक सुविधाएं प्रदान करने , और अधिक सुविधाओं को जोड़ा गया है और (1998 में यह की तुलना में) आगे मानक पुस्तकालय बढ़े जो जारी किया गया था ।

Stroustrup के अनुसार: " नाम सी से परिवर्तन की विकासवादी प्रकृति का प्रतीक है " [10] यह नाम रिक Mascitti (मध्य 1983) [7] और पहले दिसम्बर 1983 में इस्तेमाल किया गया था करने के लिए श्रेय दिया जाता है । ।

Mascitti नामकरण के बारे में 1992 में अनौपचारिक रूप से पूछताछ की गई तो उन्होंने इसे एक जीभ में गाल भावना में दिया गया था कि संकेत दिया है । नाम और एक बढ़ाया कंप्यूटर प्रोग्राम इंगित करने के लिए "+" का उपयोग करने का एक आम नेमिंग कन्वेंशन ( एक चर का मान वेतन वृद्धि ), जो सी " ++ " ऑपरेटर से उपजा है। एक मजाक के नाम से ही एक बग है कि चला जाता है: कारण चर का मान वेतन वृद्धि , लेकिन सी ++ सी से बेहतर कोई है तो, unincremented मूल्य के लिए मूल्यांकन करता है, और पूर्व वेतन वृद्धि , जो बाद के वेतन वृद्धि का उपयोग करते हैं, के लिए C ++ कि सी ++ सी की तुलना में बेहतर है, इसलिए फार्म, बजाय प्रयोग किया जाना चाहिए था [11]

सी ++ के विकास की अवधि के दौरान, भाषा अपने अंतिम नाम प्राप्त करने से पहले , "नई सी" , फिर "वर्गों के साथ सी " के रूप में करने के लिए भेजा गया था।

सी ++ के जीवन के दौरान, अपने विकास और विकास अनौपचारिक रूप से इसके विकास का पालन करना चाहिए कि नियमों का एक सेट द्वारा नियंत्रित किया गया है: [6]

यह वास्तविक समस्याओं के द्वारा संचालित किया जाना चाहिए और अपनी सुविधाओं को असली दुनिया के कार्यक्रमों में तुरंत उपयोगी होना चाहिए। हर सुविधा ( ऐसा करने के लिए एक हद तक स्पष्ट तरीके के साथ) लागू किया जाना चाहिए। प्रोग्रामर अपने स्वयं के प्रोग्रामिंग शैली लेने के लिए स्वतंत्र होना चाहिए, और शैली है कि पूरी तरह से सी ++ द्वारा समर्थन किया जाना चाहिए । एक उपयोगी सुविधा की अनुमति दे सी ++ के हर संभावित दुरुपयोग को रोकने से ज्यादा महत्वपूर्ण है । यह अच्छी तरह से परिभाषित अलग अलग हिस्सों में कार्यक्रमों के आयोजन के लिए सुविधाएं उपलब्ध कराने , और अलग से विकसित भागों के संयोजन के लिए सुविधाएं प्रदान करना चाहिए। कोई अंतर्निहित प्रकार की प्रणाली का उल्लंघन है (लेकिन स्पष्ट रूप से प्रोग्रामर के लिए कहा गया है कि स्पष्ट उल्लंघन की अनुमति देते हैं )। उपयोगकर्ता बनाया प्रकार के प्रकार में निर्मित करने के लिए बराबर समर्थन और प्रदर्शन किया है। क्या आप के लिए भुगतान नहीं करते उपयोग नहीं करते हैं कि किसी भी सुविधाओं (जैसे प्रदर्शन में )। ( विधानसभा भाषा को छोड़कर) सी ++ के नीचे कोई भाषा नहीं होनी चाहिए। सी ++ बल्कि अपनी अलग और असंगत प्रोग्रामिंग वातावरण का हिस्सा होने की तुलना में , अन्य पूर्व मौजूदा प्रोग्रामिंग भाषाओं के साथ काम करना चाहिए। क्या प्रोग्रामर के लिए करना चाहता अज्ञात है, प्रोग्रामर निर्दिष्ट (मैनुअल नियंत्रण प्रदान ) करने के लिए अनुमति देते हैं। मानकीकरण [संपादित करें] वर्ष सी ++ स्टैंडर्ड अनौपचारिक नाम 1998 आईएसओ / आईईसी 14882 : 1998 [12] सी ++ 98 2003 आईएसओ / आईईसी 14882 : 2003 [13] सी ++ 03 2007 आईएसओ / आईईसी टी.आर. 19,768 : 2007 [14] सी ++ TR1 2011 आईएसओ / आईईसी 14882 : 2011 [4] सी ++ 11 2014 N3690 (काम मसौदा सी ++ 14) [15] सी ++ 14 2017 निर्धारित किया जाना सी ++ 17 सी ++ एक आईएसओ कार्य समूह , JTC1 / SC22 / WG21 द्वारा मानकीकृत है । अब तक यह जारी C ++ के तीन संस्करणों को देखा है और वर्तमान में सी ++ 14 को रिहा करने पर काम कर रहा है ।

(अनौपचारिक सी ++ 98 के रूप में जाना जाता है) 1998: 1998 में, यह आईएसओ / आईईसी के रूप में पहली बार 14,882 के लिए C ++ मानकीकृत । सी ++ 98 में पहचान की गई थी जो समस्याओं को निर्धारित जो 2003, 2003 में यह तो सी ++ मानक , आईएसओ / आईईसी 14,882 का एक नया संस्करण प्रकाशित किया।

2005, एक तकनीकी रिपोर्ट में जारी किया गया था , "पुस्तकालय तकनीकी रिपोर्ट एक " ( TR1 ) कहा जाता है । मानक की नहीं एक अधिकारी का हिस्सा है, यह तो सी के अगले संस्करण में शामिल किया गया है जो मानक पुस्तकालय , के लिए एक्सटेंशन के एक नंबर निर्दिष्ट ++ (तब सी ++ 0x )।

सी ++ मानक के नवीनतम प्रमुख संशोधन , (पूर्व में सी ++ 0x के रूप में जाना जाता है) सी ++ , 11 को मंजूरी दे दी और 12 अगस्त 2011 को जारी किया गया था [16] 14,882 के रूप में: । 2011 [4]

मुख्य रूप से बग फिक्स और छोटे सुधार की विशेषता (भी सी ++ 1 वर्ष के रूप में जाना जाता है) सी ++ 11 के लिए एक छोटा सा विस्तार , सी ++ 14 2014 में रिलीज के लिए योजना बनाई है [17 ] यह सी ++ 03 के रूप में इसी तरह के उद्देश्य धारण करने के लिए किया था सी ++ 98 । में पूरा मसौदा अंतरराष्ट्रीय मानक मतदान प्रक्रियाओं मध्य अगस्त 2014

अनौपचारिक सी ++ 17 के रूप में जाना जाता सी ++ 1 वर्ष , एक प्रमुख संशोधन , 2017 के लिए की योजना बनाई है.

सी ++ सी वाक्य रचना के सबसे संभालते हैं। मानक उत्पादन के लिए एक संदेश लिखने के लिए सी ++ स्टैंडर्ड लाइब्रेरी धारा सुविधा का उपयोग करता है कि दुनिया नमस्कार कार्यक्रम का Bjarne Stroustrup के संस्करण निम्न है:

  1. शामिल <iostream>

) ( मुख्य int {

  एसटीडी :: अदालत << " हैलो, दुनिया , \ n ! ";

} नियंत्रण अपरिभाषित व्यवहार में समारोह परिणामों के अंत तक पहुँचने से पहले एक गैर शून्य वापसी प्रकार परिभाषित है कि कार्यों के भीतर, असफलता एक मूल्य वापस करने के लिए ( compilers के लिए आम तौर पर इस तरह के एक मामले में एक नैदानिक ​​जारी करने के लिए साधन उपलब्ध कराते हैं )। एकमात्र अपवाद इस नियम के संकेत भी शून्य का एक मान देता है जो मुख्य समारोह है।

बाह्य सूत्र[संपादित करें]

सन्दर्भ[संपादित करें]