STL容器中size和capacity的區別

2021-10-03 08:48:26 字數 572 閱讀 7179

size:表示當前容器中元素的個數

capacity:表示當前容器在必須分配新的儲存空間之前允許存放元素的個數

與size對應的函式是resize(n),它的作用是調整容器的大小使其能夠容納n個元素,如果n小於當前容器的size,則刪除多餘的元素。如果n大於當前容器的size,則新增初始化後的元素。(resize還有另一種用法resize(n,0) 表示將所有新新增的元素初始化為0。)

與capacity對應的函式是reserve(n),它的作用是預分配n個元素的儲存空間。

注意:容器呼叫resize()函式後,所有的空間都已經初始化了,可以直接訪問。而reserve()函式預分配的空間沒有初始化,故不能訪問。

使用vs2013進行測試

#include

using

namespace std;

#include

intmain()

結果:

STL容器之size 函式的實現

vector o 1 list o n deque 以下 以下是 片段 class vector iterator begin iterator end protected tp m start tp m finish tp m end of storage 可見,vector的size 實現在時間...

STL中的容器

一 什麼是stl stl是standart template library,標準模板庫 是hp實驗室開發的一系列軟體的統稱,從根本上說,它是一些容器和演算法的集合,它是世界上很多最聰明的程式設計師多年的傑作 stl是標準化的元件,不用重新開發,可以直接使用,它是c 的一部分,不需要額外安裝 二 s...

初識STL和容器

stl概念 stl是 c 標準庫的最重要的組成部分,stl 標準模板庫 不僅是乙個可復用的元件庫,而且是乙個包羅演算法和資料結構的軟體框架。stl的六大元件 1.容器 各種資料結構 vector list map set 等 2.迭代器 扮演容器和演算法的膠合劑 3.空間配置器 負責記憶體空間的分配...