集合类中的capacity()和size()之间是什么关系?
size是集合对象中拥有的对象的个数,那么容量是什么?

解决方案 »

  1.   

    并非每个容器都有capacity的。只有string和vector有。
    这两个类都是可以自动分配内存的,因此提供capacity,reserve等方法,在需要时可以灵活使用以提高效率。
      

  2.   

    其他很多集合类都有capacity,如linkedList等。还有他们的构造方法中,有这么一个参数capacityIncrement,说是存储容量按此变量定义的增量增长,是说每加入一个元素容量就按此增长吗?
      

  3.   

    如果你指定capacityIncrement的话,就有可能按照这个增长(记住只是有可能)。
    如果没指定的话(默认为0),根据情况不同增长步长也不同,有的是1.5倍,有的是两倍。