1. 程式人生 > >vector中size()和capacity()取值

vector中size()和capacity()取值

vector v;此時沒有初始化,所以size()和capacity()都是0;

cout<<v.size()<<endl<<v.capacity()<<endl;

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//此時容器內有一個元素了,那麼size()和capacity()都是1

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//此時容器內能夠提供的空間capacity()不夠用了,需要申請內容,申請多少呢,申請後的大小應該是以前的2倍,那就應該是2了,此時有兩個元素,size()為2,capacity()也是2

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//此時容器能夠提供的空間是2,又增加元素,不夠,需要申請空間,申請後的空間為原來2倍,就是4了,那麼size()為3,capacity()為4

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//容器還能夠提供一個空間,不需要申請新空間,size()為4,capacity()為4

v.push_back(1);

cout<<v.size()<<endl<<v.capacity()<<endl;//空間不夠,需要申請,size()為5,capacity為8