Loading

c++中STL容器内存释放方法

在C++11中引入了许多好用的STL模版,如vector
但调用clear()方法后内存并不会随即释放
需配合shrink_to_fit()完成释放

举例

#include <iostream>
#include <vector>

int main()
{
    std::vector<int> vec;
    vec.push_back(1);
    std::cout<<vec.capacity()<<std::endl;
    vec.clear();
    std::cout<<vec.capacity()<<std::endl;
    vec.shrink_to_fit();
    std::cout<<vec.capacity()<<std::endl;
    return 0;
}
// output: 1 1 0
posted @ 2021-03-09 21:45  azureology  阅读(275)  评论(0编辑  收藏  举报