C ++ 20 में, POD की अवधारणा को हटा दिया गया है, माना जाता है क्योंकि यह तुच्छ और मानक-लेआउट होने का एक अर्थहीन समग्र गुण है।
गलत। POD शब्द को पदावनत किया जा रहा है क्योंकि यह अब मायने नहीं रखता :
पीओडी शब्द अब मानक में एक उद्देश्य प्रदान नहीं करता है, यह केवल परिभाषित किया गया है, और प्रतिबंध तब लागू होते हैं जब कुछ अन्य प्रकार इस प्रचलित संपत्ति को संरक्षित करते हैं।
अनिवार्य रूप से, एक प्रकार जो दोनों तुच्छ और मानक लेआउट है, जो तुच्छ होने और अपने स्वयं के मानक लेआउट प्रदान करने से परे कोई क्षमता हासिल नहीं करता है। दो का संयोजन प्रकार को विशेष नहीं बनाता है, और दो गुणों का वास्तव में एक दूसरे के साथ बहुत कुछ नहीं है।
मानक लेआउट अपने गैर-खाली सब -जेक्ट्स के लेआउट के बारे में अच्छी तरह से परिभाषित किया जा रहा है (साथ ही इसके खाली बेस क्लास सब -जेक्ट्स प्रकार के लेआउट को परेशान नहीं करते हैं)। तुच्छता इस बारे में है कि क्या वस्तु का बिट्स के ब्लॉक से परे कुछ अर्थ है जिसे वह संग्रहीत करता है (और क्या यह वैचारिक रूप से एक वैध वस्तु है यदि इसे बिट्स के मनमाने ब्लॉक के साथ आरंभीकृत किया गया है)।
यदि मैं एक ऐसा टेम्पलेट बना रहा हूं जो एक प्रकार लेता है T
, और मैं यह देखना चाहता हूं कि क्या मैं memcpy
उस प्रकार की वस्तुओं को ले सकता हूं, मुझे इसके सदस्यों के लेआउट की परवाह नहीं है; मैं जानना चाहता हूं कि क्या यह त्रिविमचनीय है। इसी तरह, offsetof
अगर क्लास में उपयोगकर्ता द्वारा प्रदान की गई कॉपी कंस्ट्रक्टर है, तो इसकी थोड़ी सी भी सावधानी नहीं बरती जाती है। सभी इसकी परवाह करते हैं कि क्या सदस्य उप-विषय का लेआउट स्पष्ट, मानक-लागू क्रम में होता है।
मूल रूप से, लोगों ने चारों ओर देखा और महसूस किया कि C ++ में कुछ भी नहीं बचा है जो विशेष रूप से तुच्छता और मानक लेआउट के प्रतिच्छेदन की आवश्यकता है । इसलिए हमें इसके लिए कोई शब्द आरक्षित करने की आवश्यकता नहीं है। उन कुछ स्थानों पर जहां मानक स्पष्ट रूप से बताता है कि कुछ प्रकार "POD" होगा, बस उपयुक्त रूप में "तुच्छ और मानक लेआउट" द्वारा प्रतिस्थापित किया जा सकता है।
क्या यह पुनरावर्ती आवश्यकता निरर्थक है?
चूंकि दोनों घटक आवश्यकताएं व्यक्तिगत रूप से पुनरावर्ती हैं, इसलिए दोनों का प्रतिच्छेदन पुनरावर्ती भी है। इसलिए यह स्पष्ट करने की कोई आवश्यकता नहीं है कि सभी सबोबिज भी POD हैं। यह केवल कॉपी-एंड-पेस्ट विषमता के एक मामले की तुलना में अधिक था, जहां मूल परिभाषा ने कहा कि "सभी गैर-स्थैतिक डेटा सदस्यों को POD प्रकार होना चाहिए" और उन्होंने बस उस कथन को यथावत रखा।