reserve فقط capacity رو افزایش میده یعنی فقط اندازه یک بلاک خاص new می کنه و برای اضافه کردن عنصر باز هم باید از push_back استفاده کرد .
ولی resize علاوه بر capacity سایز وکتور رو هم زیاد می کنه .
std::vector<int> a;
a.resize(5);
for(auto i:a)
std::cout<<i<<" ";
std::cout<< "\n___\n";
std::vector<int> b;
a.reserve(5);
for(auto i:b)
std::cout<<i<<" ";
خروجی :
0 0 0 0 0
______
در ضمن کد های زیر هم با هم معادل هستند
std::vector<int> a(5);
std::vector<int> a;
a.resize(5);