पर प्रतियां मैं जोड़ने rvalues साथ :: एसटीडी पर वेक्टर कुछ अजीब व्यवहार करता है , जितना अधिक मैं करता हूं - मुझे जितनी अधिक प्रतियां मिलती हैं। हालांकि, यदि मैं डिफ़ॉल्ट एक ए (ए & & डेटा) = डिफ़ॉल्ट के साथ चालक को प्रतिस्थापित करता हूं; या ए (कॉन्स ए & डेटा) के साथ कॉपी कन्स्ट्रक्टर को हटाएं = हटाएं; मुझे सही परिणाम मिलता है जहां कोई प्रतियां नहीं बनाई जाती हैं। अगर मैं पहले पर्याप्त आकार के साथ datavec.reserve को कॉल करता हूं तो मेरे पास कोई प्रतियां नहीं होती हैं। मैं कोई विशेष तर्कС ++ 11 वेक्टर rvalue
g++ -std=c++11 -o main ../main.cpp
तुम क्यों वेक्टर स्पष्ट rvalues की प्रतियां बनाता है पर कोई विचार मिल गया है के साथ जीसीसी संस्करण 5.4.0 का उपयोग करें? मुझे उम्मीद है कि यह एसटीएल
महान प्रश्न, महान उत्तर, और महान डुप्लिकेट स्पॉट। – Bathsheba