क्या है capacity()
एक की std::vector
जो कि डिफ़ॉल्ट constuctor का उपयोग कर बनाई गई है? मुझे पता है कि size()
शून्य है। क्या हम बता सकते हैं कि एक डिफ़ॉल्ट निर्मित वेक्टर ढेर मेमोरी आवंटन नहीं कहता है?
इस तरह एक एकल आवंटन का उपयोग करके एक मनमाना रिजर्व के साथ एक सरणी बनाना संभव होगा std::vector<int> iv; iv.reserve(2345);
। मान लीजिए कि किसी कारण से, मैं size()
2345 को शुरू नहीं करना चाहता हूं ।
उदाहरण के लिए, लिनक्स पर (g ++ 4.4.5, कर्नेल 2.6.32 amd64)
#include <iostream>
#include <vector>
int main()
{
using namespace std;
cout << vector<int>().capacity() << "," << vector<int>(10).capacity() << endl;
return 0;
}
छपा हुआ 0,10
। क्या यह एक नियम है, या क्या यह एसटीएल विक्रेता पर निर्भर है?