Actutally std :: वेक्टर का उपयोग सी टैब के रूप में किया जाता है जब जरूरत होती है। (सी ++ मानक अनुरोध है कि वेक्टर कार्यान्वयन के लिए, जहां तक मुझे पता है - विकिपीडिया में सरणी के लिए प्रतिस्थापन ) उदाहरण के लिए यह मेरे अनुसार, इस फोलोइंग को करना पूरी तरह से कानूनी है:
int main()
{
void foo(const char *);
sdt::vector<char> vec;
vec.push_back('h');
vec.push_back('e');
vec.push_back('l');
vec.push_back('l');
vec.push_back('o');
vec.push_back('/0');
foo(&vec[0]);
}
बेशक, या तो फू को एक पैरामीटर के रूप में दिए गए पते को कॉपी नहीं करना चाहिए और इसे कहीं स्टोर करना चाहिए, या आपको अपने प्रोग्राम में यह सुनिश्चित करना चाहिए कि किसी भी नए आइटम को vec में पुश न करें, या इसकी क्षमता को बदलने का अनुरोध न करें। या जोखिम विभाजन दोष ...
इसलिए आपकी छूट में यह होता है
vector.insert(pos, &vec[first_index], &vec[last_index]);