当前位置:首页 C++ > 正文

C++中清空Vector内元素的方法以及释放内存

作者:野牛程序员:2023-07-24 07:21:58 C++阅读 4680

在C++中,清空一个std::vector容器的元素有多种方法,并且在清空后,内存会自动释放。以下是几种常用的方法:

  1. 使用clear()方法:

    #include <vector>
    
    int main() {
        std::vector<int> myVector = {1, 2, 3, 4, 5};
    
        // 清空vector中的元素
        myVector.clear();
    
        // 此时myVector为空,并且内存已经被释放
        return 0;
    }
  2. 使用resize()方法配合空尺寸:

    #include <vector>
    
    int main() {
        std::vector<int> myVector = {1, 2, 3, 4, 5};
    
        // 通过resize设置vector的大小为0,从而清空元素
        myVector.resize(0);
    
        // 此时myVector为空,并且内存已经被释放
        return 0;
    }
  3. 使用swap()方法:

    #include <vector>
    
    int main() {
        std::vector<int> myVector = {1, 2, 3, 4, 5};
    
        // 创建一个空的vector,并与原vector进行swap
        std::vector<int> emptyVector;
        myVector.swap(emptyVector);
    
        // 此时myVector为空,并且内存已经被释放
        return 0;
    }

无论使用哪种方法,当vector被清空后,其中的元素会被销毁,内存也会被释放。需要注意的是,clear()resize(0)方法不会释放vector占用的内存,而是将其保留以供未来使用。如果希望将内存彻底释放并回收给系统,可以使用swap()方法,将vector与一个空的vector进行交换,使原有的vector被销毁并释放内存。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击