验证vector swap内存释放

来源:互联网 发布:mac设置桌面应用 编辑:程序博客网 时间:2024/05/16 19:05
std::vector<int> g_refDtlVec;
int main(){


    for(int i=0;i<100000000;i++){
     g_refDtlVec.push_back(i);  
    }
    
    printf("sleep \n");
    sleep(10);


    std::vector<int>(g_refDtlVec).swap(g_refDtlVec);
    printf("sleep2 \n");    
sleep(10);
    std::vector<int>().swap(g_refDtlVec);
   
       printf("sleep3 \n");    
sleep(10);
    
    return SUCCESS;

}


ps aux|grep 进程名查看

swap确实是立即释放了。

注意:i的数量要足够多,才能看出明显的效果。

0 0