zoukankan      html  css  js  c++  java
  • vector中 resize()和reserve()

    1.resize()改变容器大小

     2.reserve()容器大小管理

    3.例子

    #include <iostream>
    #include<vector>
    using namespace std;
    
    int main(){
        vector<int> a(5,1);
        cout<<a.size()<<" "<<a.capacity()<<endl;
        //5 5
        //表示定义的向量的size和容量
    
        a.resize(10);
        cout<<a.size()<<" "<<a.capacity()<<endl;
        //10 10
        //resize会改变容器中元素的数目,同时元素的容量也增大了
    
        a.resize(6);
        cout<<a.size()<<" "<<a.capacity()<<endl;
        //6 10
        //resize改变元素数目,后面的元素被删除,但是不会更改容量
    
        a.reserve(20);
        cout<<a.size()<<" "<<a.capacity()<<endl;
        //6 20
        //reserve不改变元素数目,增大了元素的容量
    
        a.reserve(10);
        cout<<a.size()<<" "<<a.capacity()<<endl;
        //6 20
        //当reserve更改的小于当前容量大小时,什么也不做,容量不会发生改变。
    
        a.reserve(3);
        cout<<a.size()<<" "<<a.capacity()<<endl;
        //6 20
        //当reserve更改的小于当前元素数目时,什么也不做,元素数目和容量都不会发生改变。
                return 0;
    }

     4.resize不能再次初始化

    int main(){
        vector<int> a;
        a.resize(5,0);
        for(int i=0;i<a.size();i++){
            a[i]=5;
        }
        a.resize(5,0);
        for(auto b:a)
            cout<<b<<" ";
        return 0;
    }
    //输出:
    5 5 5 5 5 
  • 相关阅读:
    雷林鹏分享:XML to HTML
    雷林鹏分享:XML DOM
    雷林鹏分享:XML 编码
    雷林鹏分享: XML CDATA
    雷林鹏分享:服务器上的 XML
    雷林鹏分享:XML 注意事项
    雷林鹏分享:现实生活中的 XML
    雷林鹏分享:XML 相关技术
    雷林鹏分享:XML
    Android 系统架构图
  • 原文地址:https://www.cnblogs.com/BlueBlueSea/p/14174905.html
Copyright © 2011-2022 走看看