C ++ 17 N4659 मानक ड्राफ्ट
एक त्वरित क्रॉस मानक संदर्भ के लिए, निम्नलिखित अप्रतिष्ठित प्रविष्टियों के "निहित-घोषित" खंडों पर एक नज़र डालें:
वही जानकारी मानक से प्राप्त की जा सकती है। जैसे C ++ 17 N4659 मानक ड्राफ्ट :
15.8.1 "कॉपी / मूव कंस्ट्रक्टर्स" कॉपी कंस्ट्रक्टर के लिए कहते हैं:
6 यदि कक्षा की परिभाषा स्पष्ट रूप से कॉपी निर्माता की घोषणा नहीं करती है, तो एक गैर-स्पष्ट रूप से स्पष्ट रूप से घोषित किया जाता है। यदि वर्ग परिभाषा एक चाल निर्माणकर्ता या चाल असाइनमेंट ऑपरेटर की घोषणा करती है, तो अंतर्निहित घोषित प्रतिलिपि निर्माता को हटाए जाने के रूप में परिभाषित किया गया है; अन्यथा, इसे डिफ़ॉल्ट (11.4) के रूप में परिभाषित किया गया है। बाद का मामला तब हटा दिया जाता है जब वर्ग में उपयोगकर्ता द्वारा घोषित कॉपी असाइनमेंट ऑपरेटर या उपयोगकर्ता द्वारा घोषित विध्वंसक होता है।
और मूव कंस्ट्रक्टर के लिए:
8 यदि कक्षा X की परिभाषा स्पष्ट रूप से एक चाल निर्माणकर्ता की घोषणा नहीं करती है, तो एक गैर-स्पष्ट व्यक्ति को केवल और केवल यदि डिफ़ॉल्ट रूप से डिफ़ॉल्ट रूप से घोषित किया जाएगा
((.१) - एक्स में उपयोगकर्ता द्वारा घोषित कॉपी कंस्ट्रक्टर नहीं है,
(8.2) - X के पास उपयोगकर्ता द्वारा घोषित कॉपी असाइनमेंट ऑपरेटर नहीं है,
(8.3) - X में उपयोगकर्ता द्वारा घोषित चाल असाइनमेंट ऑपरेटर नहीं है, और
((.४) - X में उपयोगकर्ता-घोषित विध्वंसक नहीं है।
15.8.2 कॉपी असाइनमेंट के लिए "कॉपी / मूव असाइनमेंट ऑपरेटर" कहता है:
2 यदि वर्ग परिभाषा स्पष्ट रूप से कॉपी असाइनमेंट ऑपरेटर की घोषणा नहीं करती है, तो एक को स्पष्ट रूप से घोषित किया जाता है। यदि वर्ग परिभाषा एक चाल निर्माणकर्ता या चाल असाइनमेंट ऑपरेटर की घोषणा करती है, तो अंतर्निहित रूप से घोषित प्रतिलिपि असाइनमेंट ऑपरेटर को हटा दिया गया है; अन्यथा, इसे डिफ़ॉल्ट (11.4) के रूप में परिभाषित किया गया है। उत्तरार्द्ध मामले को हटा दिया जाता है यदि वर्ग में उपयोगकर्ता-घोषित प्रतिलिपि निर्माता या उपयोगकर्ता-घोषित विध्वंसक होता है।
और चाल असाइनमेंट के लिए:
4 यदि एक कक्षा X की परिभाषा स्पष्ट रूप से एक चाल असाइनमेंट ऑपरेटर की घोषणा नहीं करती है, तो किसी को केवल और केवल यदि डिफ़ॉल्ट रूप से डिफ़ॉल्ट रूप से घोषित किया जाएगा
- (४.१) - एक्स के पास उपयोगकर्ता-घोषित कॉपी कंस्ट्रक्टर नहीं है,
- (४.२) - X के पास उपयोगकर्ता-घोषित चाल निर्माणकर्ता नहीं है,
- (4.3) - X में उपयोगकर्ता द्वारा घोषित कॉपी असाइनमेंट ऑपरेटर और नहीं है
- (4.4) - X में उपयोगकर्ता-घोषित विध्वंसक नहीं है।
15.4 "विध्वंसक" इसे विध्वंसक के लिए कहते हैं:
4 यदि किसी वर्ग में कोई उपयोगकर्ता-घोषित विध्वंसक नहीं है, तो एक विध्वंसक को स्पष्ट रूप से डिफ़ॉल्ट (11.4) घोषित किया जाता है। अनुमानित रूप से घोषित विध्वंसक अपने वर्ग का एक इनलाइन सार्वजनिक सदस्य है।