پاک شدن حافظه گرفته شده توسط reserve - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

پاک شدن حافظه گرفته شده توسط reserve

+1 امتیاز

سلام خسته نباشید .

چطوری میشه حافظه ای که توسط reserve برای vector گرفته شده رو آزاد کرد ؟

vector<headerSection> vec;
vec.reserve(500);

//estefade az tedadi az khoone haye reserve shode 

//in ja che joori hafeze ezafi gerefte shode ro pak konam ?!

 

سوال شده اسفند 28, 1392  بوسیله ی Mad (امتیاز 245)   10 35 47
دوباره تگ گذاری شد فروردین 20, 1393 بوسیله ی BlueBlade

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

از shrink_to_fit استفاده کن

    vector<int> vec;
    vec.reserve(100);
    cout<<"Size : "<<vec.size()<<"  Capacity : "<<vec.capacity()<<"  \n";

    vec.shrink_to_fit();
    cout<<"Size : "<<vec.size()<<"  Capacity : "<<vec.capacity()<<"  \n";

 

البته std::vector تضمین نمی کنه که حتما حافظه گرفته شده پاک میشه .

پاسخ داده شده اسفند 28, 1392 بوسیله ی reza ghasemi (امتیاز 60)   1 1 1
انتخاب شد اسفند 29, 1392 بوسیله ی Mad
ممنون کار کرد
...