zoukankan      html  css  js  c++  java
  • vector的capacity增长方式

         vector的capacity()调用返回vector中最大能够存储的元素个数,也即在下一次需要扩充容量之前能容纳的元素个数。reserve会使容器在必要的时候增长,以便容纳制指定数目的元素。

    #include <iostream>
    #include <vector>
    using namespace std;
    int main()
    {
        vector<int> u;
        cout << "Initial capaciry of u: " << u.capacity() << "
    ";
        for(int i = 0; i < 40; ++i)
        {
            u.push_back(i);
            cout<<"size is "<<u.size()<<" ";
            cout<<"Now capacity is :" << u.capacity() << "
    ";
        }
        return 0;
    }

    运行环境:win7 32bit codeblocks

    Initial capaciry of u: 0
    size is 1 Now capacity is :1
    size is 2 Now capacity is :2
    size is 3 Now capacity is :4
    size is 4 Now capacity is :4
    size is 5 Now capacity is :8
    size is 6 Now capacity is :8
    size is 7 Now capacity is :8
    size is 8 Now capacity is :8
    size is 9 Now capacity is :16
    size is 10 Now capacity is :16
    size is 11 Now capacity is :16
    size is 12 Now capacity is :16
    size is 13 Now capacity is :16
    size is 14 Now capacity is :16
    size is 15 Now capacity is :16
    size is 16 Now capacity is :16
    size is 17 Now capacity is :32
    size is 18 Now capacity is :32
    size is 19 Now capacity is :32
    size is 20 Now capacity is :32
    size is 21 Now capacity is :32
    size is 22 Now capacity is :32
    size is 23 Now capacity is :32
    size is 24 Now capacity is :32
    size is 25 Now capacity is :32
    size is 26 Now capacity is :32
    size is 27 Now capacity is :32
    size is 28 Now capacity is :32
    size is 29 Now capacity is :32
    size is 30 Now capacity is :32
    size is 31 Now capacity is :32
    size is 32 Now capacity is :32
    size is 33 Now capacity is :64
    size is 34 Now capacity is :64
    size is 35 Now capacity is :64
    size is 36 Now capacity is :64
    size is 37 Now capacity is :64
    size is 38 Now capacity is :64
    size is 39 Now capacity is :64
    size is 40 Now capacity is :64
  • 相关阅读:
    还在写onClickListener()???你OUT拉
    Java 中的reference
    如何将eclipse上的android项目转移到android studio
    List,Set,Map再学习一下
    Java对象实例化的速度的一个试验
    如何自定义ImageView并让其渐变出现(李刚老师)
    android studio 中git插件的使用 github项目的配置及操作
    eGit插件
    原来Linux才是深入学习3D的好去处【原创】
    用FileMapping跨进程共享数据
  • 原文地址:https://www.cnblogs.com/XDJjy/p/3900026.html
Copyright © 2011-2022 走看看