यहां दो अंक हैं:
1) किसी भी आबंटित प्रकार के लिए, स्वैप काम के संदर्भ में परिभाषित किया जा सकता है। इसके लिए तीन असाइनमेंट की आवश्यकता होती है, जिनमें से प्रत्येक कंटेनर प्रकार के लिए कंटेनर के आकार में रैखिक है। एक अर्थ में, फिर, a.swap (बी) अनावश्यक है। यह पूरी तरह से दक्षता के लिए मौजूद है: वेक्टर और सूची जैसे कई कंटेनरों के लिए, स्वैप को कार्यान्वित करना संभव है जैसे कि इसकी रन-टाइम जटिलता रैखिक की बजाय स्थिर है। यदि यह कुछ कंटेनर प्रकार एक्स के लिए संभव है, तो टेम्पलेट विशेषज्ञता स्वैप (एक्स &, एक्स &) आसानी से एक्स :: स्वैप (एक्स &) के संदर्भ में लिखा जा सकता है। इसका निहितार्थ यह है कि एक्स :: स्वैप (एक्स &) केवल तभी परिभाषित किया जाना चाहिए जब स्थिर निरंतर कार्यान्वयन हो। प्रत्येक कंटेनर क्लास एक्स में ऐसे सदस्य फ़ंक्शन की आवश्यकता नहीं होती है, लेकिन यदि सदस्य फ़ंक्शन बिल्कुल मौजूद है तो यह निरंतर समय को आवंटित करने की गारंटी है।
2) यदि आप किसी अन्य कंटेनर जो एक ही तत्व है जिसके लिए आप स्वामित्व हस्तांतरण के लिए कृपया
ओर टिप्पणी बेहतर दक्षता के लिए एक सरल प्रतिलिपि बनाने चाहा जरूरत है: "स्वैप" पहले ही उल्लेख किया गया है। लेकिन मैं इसे जोड़ना चाहता हूं कि सी ++ 0x में आप "stt :: move" के साथ "ओवरटेक सामग्री" को प्रतिस्थापित कर सकते हैं और यह वही करेगा जो आप चाहते हैं। – sellibitze