Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++11 में कौन से नए बदलाव पेश किए गए हैं?

C++11 मानक C++ भाषा का एक संस्करण है। इसे 12 अगस्त 2011 को अंतर्राष्ट्रीय मानकीकरण संगठन (आईएसओ) द्वारा अनुमोदित किया गया था, फिर सी ++ 14 और सी ++ 17। C++11 मूल भाषा में कई जोड़ देता है।

C++11 में कुछ नए बदलाव पेश किए गए हैं -

  • nullptr - पिछले नलप्टर में, शून्य का मूल्य हुआ करता था और इसमें निहित रूपांतरण का अभिन्न मूल्य था। अशक्त सूचक शाब्दिक प्रतिनिधित्व bystd::nullptr_t है। इस नलप्टर में, कोई अंतर्निहित रूपांतरण मौजूद नहीं है।

  • लैम्बडास - लैम्ब्डा अभिव्यक्ति स्थानीय रूप से कार्यों को परिभाषित करने की अनुमति देती है। बेनामी कार्यों को लैम्ब्डा के रूप में जाना जाता है। जहां भी फ़ंक्शन ऑब्जेक्ट std::function अपेक्षित है, हम लैम्ब्डा एक्सप्रेशन का उपयोग कर सकते हैं।

  • स्मार्ट पॉइंटर्स - स्मार्ट पॉइंटर auto_ptr एकमात्र स्मार्ट पॉइंटर था और अब इसे हटा दिया गया है। C++11 में तीन अन्य स्मार्ट पॉइंटर्स जोड़े गए हैं यानी शेयर्ड_प्ट्र, यूनिक_प्ट्र और कमजोर_प्ट्र।

  • स्वतः - पिछले संस्करणों में, हमें ऑब्जेक्ट के प्रकार को निर्दिष्ट करना होगा लेकिन C++11 में, उस प्रकार को निर्दिष्ट करने की कोई आवश्यकता नहीं है जिसका अर्थ है कि आप उनके प्रकार को निर्दिष्ट किए बिना सीधे वेरिएबल घोषित कर सकते हैं।

  • ओवरराइड और फाइनल - संस्करण C++11 ने दो नए विशेष पहचानकर्ता यानी ओवरराइड और फाइनल पेश किए हैं। ओवरराइड इंगित करता है कि विधि को बेस क्लास में वर्चुअल विधि का ओवरराइड माना जाता है। दूसरी ओर, अंतिम इंगित करता है कि व्युत्पन्न वर्ग को आभासी पद्धति को ओवरराइड नहीं करना चाहिए।

  • हटाए गए और डिफ़ॉल्ट फ़ंक्शन - हटाए गए फ़ंक्शन ऑब्जेक्ट की प्रतिलिपि बनाने से रोकने के लिए उपयोगी होते हैं। प्रतिलिपि अक्षम करने के लिए, “=हटाएं; " प्रयोग किया जाता है। डिफ़ॉल्ट फ़ंक्शन कंपाइलर को फ़ंक्शन के डिफ़ॉल्ट कार्यान्वयन को उत्पन्न करने के लिए निर्देश देता है और "=डिफ़ॉल्ट;" डिफ़ॉल्ट कार्यों के लिए उपयोग किया जाता है।

  • लूप के लिए श्रेणी-आधारित - C++11 ने संग्रह पर पुनरावृति के लिए लूप के लिए श्रेणी-आधारित पेश किया। अब, सी-सरणी की तरह पुनरावृति करना संभव है। यह पुनरावृति के 'foreach' प्रतिमान का समर्थन करता है।

  • दृढ़ता से टाइप किए गए एनम - पारंपरिक एनम में, वे अपने एन्यूमरेटर्स को आसपास के दायरे में निर्यात करते थे। उन्हें "एनम क्लास" कीवर्ड के रूप में निर्दिष्ट किया गया है। वे अपने प्रगणकों को आसपास के दायरे में निर्यात नहीं करते हैं।

  • Static_assert और प्रकार के लक्षण - यह संकलन के समय एक अभिकथन जाँच करता है। यदि दावा सही है, तो यह कुछ भी प्रदर्शित नहीं करता है अन्यथा यह एक त्रुटि संदेश प्रदर्शित करता है।

  • नए C++ एल्गोरिदम - C++11 मानक पुस्तकालय ने कुछ संचालन जैसे all_of(), any_of और none_of() के साथ नए एल्गोरिदम पेश किए।


  1. सी में टोकन क्या हैं?

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

  1. सी प्रोग्रामिंग में कार्यों की विभिन्न श्रेणियां क्या हैं?

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

  1. पायथन वर्ग का उपयोग करने के क्या फायदे हैं?

    कक्षाएं आपके कोड को सामान्य, पुन:प्रयोज्य कोड के टुकड़ों में व्यवस्थित करने के लिए एक तंत्र हैं। अपने सर्वोत्तम रूप में वे पुन:प्रयोज्य कोड स्निपेट हैं जिनका उपयोग बहुत कम या बिना किसी संशोधन के बार-बार किया जाएगा। वर्ग अवधारणा सुविधाओं (विशेषताओं) और क्षमताओं (विधियों) के जैविक संग्रह से प्रेरित थी