2011-04-11 15 views
6

किसी को भी आईएसओ N3242 §3.2, 2 बिंदु से इस बयान की व्याख्या कर सकतेक्या कोई मौजूदा सी ++ 0x मानक ड्राफ्ट के इस पैराग्राफ को समझा सकता है?

एक गैर नियुक्ति आवंटन या एक वर्ग के लिए आवंटन रद्द समारोह है ओडीआर से इस्तेमाल किया है कि वर्ग के एक निर्माता की परिभाषा के द्वारा। एक वर्ग के लिए एक गैर नियुक्ति आवंटन रद्द समारोह है ओडीआर-usedby कि वर्ग के नाशक के परिभाषा, या द्वारा की आभासी नाशक definitionof (12.4) .26 एक बिंदु पर देखने द्वारा चयनित किए जाने कक्षा के लिए कॉपी-असाइनमेंट फ़ंक्शन 12.8 में निर्दिष्ट अनुसार कक्षा के लिए एक अंतर्निहित परिभाषित कॉपी-असाइनमेंट फ़ंक्शन द्वारा ओडीआर-प्रयुक्त होता है। कक्षा के लिए चाल-असाइनमेंट फ़ंक्शन 12.8 में निर्दिष्ट अनुसार कक्षा के लिए एक अंतर्निहित परिभाषित चाल-असाइनमेंट फ़ंक्शन द्वारा ओडीआर-प्रयुक्त होता है।

आईएसओ मानक 2003 का कहना है: 12.8 में निर्दिष्ट के रूप में एक वर्ग के लिए

एक प्रति-असाइनमेंट समारोह एक और वर्ग के लिए एक परोक्ष परिभाषित कॉपी-असाइनमेंट समारोह द्वारा प्रयोग किया जाता है।

इन बयानों में वास्तविक अंतर क्या है?

कोई भी उदाहरण/प्रोग्राम के मामले में उपर्युक्त बिंदु को समझाता है ...?

मुझे पता है कि चालक/चाल चलाना कार्य -> ​​नई सुविधा जोड़ा गया है।

क्या कोई इसे किसी उदाहरण/प्रोग्राम की सहायता से समझा सकता है?

कृपया .............

कृपया ..........

उत्तर

4

इस अलावा के लिए तर्क का जवाब, उदाहरण के साथ here पाया जा सकता है । संक्षेप में, यह वास्तव में एक स्पष्टीकरण है जब किसी वर्ग के लिए आवंटन/डीलोकेशन फ़ंक्शन को परिभाषित करने की आवश्यकता होती है।

(सी ++ 03) एक परिभाषा नियम के लिए आवश्यक है कि "उपयोग" की एक बहुत ही विशिष्ट परिभाषा के लिए, प्रोग्राम में का उपयोग करने वाले प्रत्येक चर या फ़ंक्शन के लिए बिल्कुल एक परिभाषा होनी चाहिए। इसलिए, जब एक (डी) आवंटन समारोह "उपयोग" माना जाता है, तो एक विवरण की आवश्यकता होने पर भी जरूरी है।

"उपयोग" शब्द के सामान्य अर्थ और ओडीआर में परिभाषित "उपयोग" के अर्थ के बीच भ्रम से बचने के लिए, "उपयोग" शब्द को "odr-use" के साथ बदल दिया गया है जब भी दूसरा अर्थ इरादा है ।

संबंधित मुद्दे