2013-03-04 6 views
13

यहाँ एसटीडी के प्रलेखन से एक अंश :: is_copy_constructible है (1) और std::is_trivially_copy_constructible (2) पर cppreference.com:क्या एसटीडी में तुच्छ संचालन सी में :: is_trivially_copy_constructible ++ हैं

1) चेकों एक प्रकार है कि क्या CopyConstructible, यानी एक सुलभ स्पष्ट या निहित प्रति कन्स्ट्रक्टर है। यदि आवश्यकता पूरी हो जाती है, तो सदस्य निरंतर मान बराबर सत्य प्रदान किया जाता है, अन्यथा मान गलत है।

2) (1) के समान, लेकिन कॉपी कन्स्ट्रक्टर अभिव्यक्ति किसी भी ऑपरेशन को कॉल न करें जो तुच्छ नहीं है।

तो यहां एक मामूली ऑपरेशन क्या माना जाता है?

+2

[यह] (http://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special) –

+0

@AndyProwl मदद मिल सकती है: बहुत उपयोगी, धन्यवाद। – vitaut

उत्तर

15

जैसा कि मैंने यह once before डाल:

तो, उन सभी को तुच्छ और गैर तुच्छ चीजों क्या हैं?

एक प्रति/दसवीं कक्षा के लिए कदम निर्माता तुच्छ है अगर यह उपयोगकर्ता के प्रदान नहीं की है और अगर

- दसवीं कक्षा कोई आभासी कार्यों (10.3) और कोई आभासी आधार वर्ग (10.1), और

है

- निर्माता कॉपी/ले जाने के प्रत्येक प्रत्यक्ष आधार वर्ग subobject मामूली बात है करने के लिए चुना है, और

- एक्स के प्रत्येक गैर स्थैतिक डेटा सदस्य (या उसके सरणी) वर्ग प्रकार की है कि, निर्माता करने के लिए चयनित के लिए प्रतिलिपि बनाएँ/उस सदस्य को छोटा करें;

अन्यथा प्रतिलिपि/चालक कन्स्ट्रक्टर गैर-तुच्छ है।

मूल रूप से इसका मतलब है कि एक कॉपी या स्थानांतरित निर्माता तुच्छ है अगर यह उपयोगकर्ता द्वारा प्रदान की नहीं है, वर्ग उस में आभासी कुछ भी नहीं है, और इस संपत्ति वर्ग के और के लिए सभी सदस्यों के लिए रिकर्सिवली रखती है बेस क्लास

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