चूंकि P0593 निम्न-स्तरीय ऑब्जेक्ट हेरफेर के लिए ऑब्जेक्ट्स का अंतर्निहित निर्माण स्वीकार किया गया है, इसलिए वस्तुओं को अब C ++ 20 में अंतर्निहित किया जा सकता है ।
विशेष रूप से प्रस्ताव द्वारा प्रस्तुत शब्दांकन निश्चित संचालन (जैसे कि std::malloc
) को कुछ प्रकार की वस्तुओं के जीवनकाल को स्वचालित रूप से बनाने और शुरू करने की अनुमति देता है , तथाकथित अंतर्निहित-जीवनकाल प्रकार , यदि ऐसी वस्तुओं का परिचय अन्यथा अपरिभाषित व्यवहार के साथ एक कार्यक्रम का कारण होगा। परिभाषित व्यवहार। [Intro.object] / 10 देखें ।
मसौदे में अब आगे कहा गया है कि अगर इस तरह की वस्तुओं के कई सेट हैं जो कि प्रोग्राम परिभाषित व्यवहार देने के लिए अंतर्निहित रूप से बनाए जा सकते हैं, तो यह अनिर्दिष्ट है कि इनमें से कौन सा सेट बनाया गया है। (प्रासंगिक वाक्य अंतिम प्रस्ताव संशोधन में मौजूद नहीं लगता है कि मैं आर 5 तक पहुंच सकता हूं, लेकिन मसौदा समिति में है)
क्या वास्तव में एक कार्यक्रम है जिसके लिए अंतर्निहित रूप से निर्मित वस्तु सेट का यह विकल्प अवलोकनीय है? दूसरे शब्दों में, क्या इस नए नियम के माध्यम से परिभाषित, लेकिन अनिर्दिष्ट, व्यवहार के साथ एक कार्यक्रम है, जैसे कि आउटपुट से अनुमान लगाना संभव है जो निहित वस्तुओं के प्रकार (एक से अधिक संभव से बाहर) के सेट बनाए गए थे?
या यह वाक्य केवल अमूर्त मशीन पर कार्यक्रम के निष्पादन (स्पष्ट प्रभाव के बिना) को स्पष्ट करने के लिए था?
std::malloc
) में आपरेशन पर होने के साथ, अन्यथा आपको परिभाषा के साथ समस्याएं आती हैं भविष्य के आधार पर पुनरावर्ती होना।