अगर मैं दो वैक्टर हैं और उन्हें एक के लिए संयोजित करना चाहते हैं, मैं इसे नीचे दिए तरीक़े कर सकते हैं:"ले जाने के" दो वैक्टर एक साथ
std::vector<T> a(100); // just some random size here
std::vector<T> b(100);
a.insert(std::end(a), std::begin(b), std::end(b));
नकल शामिल है यही कारण है कि हालांकि, जो मैं बचना चाहते हैं। क्या उन्हें एक साथ लाने के लिए चाल-अर्थशास्त्र का उपयोग करने का कोई तरीका है?
मुझे अत्यधिक संदेह है, क्योंकि vector
को संगत माना जाना चाहिए। हालांकि deque
के साथ ऐसा करने का कोई तरीका है? वैकल्पिक रूप से
#include <algorithm>
std::move(b.begin(), b.end(), std::back_inserter(a));
, आप इस कदम iterators उपयोग कर सकते हैं:
धन्यवाद, अब मुझे पता है कि cppreference पर 'std :: move' के दो संस्करण क्यों हैं। मैंने हमेशा सोचा कि यह एक बग था और दूसरे संस्करण की जांच नहीं की। – inf
मैंने पूरी तरह से याद किया था कि 'चाल' भी एक एल्गोरिदम था। – bames53
@ bames53 मुझे वही खुशी है, लेकिन सुनने के बाद, यह पूरी तरह से समझ में आता है क्योंकि 'प्रतिलिपि' भी है। – inf