日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(转) vector的reserve和resize

發布時間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (转) vector的reserve和resize 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章轉自 ?http://www.cnblogs.com/qlee/archive/2011/05/16/2048026.html

vector 的reserve增加了vector的capacity,但是它的size沒有改變!而resize改變了vector的capacity同時也增加了它的size!
原因如下:
????? reserve是容器預留空間,但在空間內不真正創建元素對象,所以在沒有添加新的對象之前,不能引用容器內的元素。加入新的元素時,要調用push_back()/insert()函數。

????? resize是改變容器的大小,且在創建對象,因此,調用這個函數之后,就可以引用容器內的對象了,因此當加入新的元素時,用operator[]操作符,或者用迭代器來引用元素對象。此時再調用push_back()函數,是加在這個新的空間后面的。

????? 兩個函數的參數形式也有區別的,reserve函數之后一個參數,即需要預留的容器的空間;resize函數可以有兩個參數,第一個參數是容器新的大小, 第二個參數是要加入容器中的新元素,如果這個參數被省略,那么就調用元素對象的默認構造函數。下面是這兩個函數使用例子:


例子1:


vector<int> myVec;
myVec.reserve( 100 );???? // 新元素還沒有構造,?
?????????????????????????????????????? // 此時不能用[]訪問元素
for (int i = 0; i < 100; i++ )
{?
???? myVec.push_back( i ); //新元素這時才構造
}
myVec.resize( 102 );????? // 用元素的默認構造函數構造了兩個新的元素
myVec[100] = 1;?????????? //直接操作新元素
myVec[101] = 2; ?


例子2:


#include <vector>
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
??? vector<int> vect;
????
??? vect.push_back(1);
??? vect.push_back(2);
??? vect.push_back(3);
??? vect.push_back(4);
??? vect.reserve(100);
??? cout<<vect.size()<<endl;? //size為4,但是capacity為100
??? int i = 0;
??? for (i = 0; i < 104; i++)
??? {
??? ??? cout<<vect[i]<<endl;
??? }
??? return 0;
}


例子3:


#include <vector>
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
??? vector<int> vect;????
??? vect.push_back(1);
??? vect.push_back(2);
??? vect.push_back(3);
??? vect.push_back(4);
??? vect.resize(100);??? //新的空間不覆蓋原有四個元素占有的空間,現在size和capacity都是100
??? cout<<vect.size()<<endl;
??? int i = 0;
??? for (i = 0; i < 100; i++)
??? {
??? ??? cout<<vect[i]<<endl;??
??? }
??? return 0;
}


例子4:


#include <vector>
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
??? vector<int> vect;??? ????
??? vect.resize(100);??? //分配100個空間
??? vect.push_back(1);
??? vect.push_back(2);
??? vect.push_back(3);
??? vect.push_back(4);
??? cout<<vect.size()<<endl; //現在size是104

??? int i = 0;
??? for (i = 0; i < 104; i++)
??? {
??? ??? cout<<vect[i]<<endl;??
??? }
??? return 0;
}

轉載于:https://www.cnblogs.com/lewiskyo/p/4603666.html

總結

以上是生活随笔為你收集整理的(转) vector的reserve和resize的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色香蕉视频 | 欧美日韩一区二区三区在线播放 | 在线日韩成人 | 白浆网站| 99色图 | 国产精品一区二区三区线羞羞网站 | 一级片久久 | 污污视频在线观看网站 | 久久精品视频网 | 女人喂男人奶水做爰视频 | 超碰人人干人人 | 看污片网站 | 久久成人在线 | 99嫩草 | 人妻精品久久久久中文字幕69 | 高清欧美性猛交xxxx黑人猛交 | 日日爱99| 91蜜臀精品国产自偷在线 | 亚洲天堂中文字幕在线观看 | 综合久久中文字幕 | 无码人妻aⅴ一区二区三区69岛 | 在线免费观看视频你懂的 | 国产v在线 | www.欧美亚洲 | 日韩国产欧美在线观看 | 国产一区二区三区四区视频 | 草草在线视频 | 欧美亚洲免费 | 91porny九色91啦中文 | 看片久久| a级黄色小说 | av免费网址在线观看 | 国产精品乱码妇女bbbb | 国产精品亚洲专区无码牛牛 | 国产欧美激情在线观看 | 丁香美女社区 | 国产调教打屁股xxxx网站 | 亚州av影院| 91黄色小网站 | 欧美性啪啪 | 国产96视频 | 国产亲伦免费视频播放 | 91国产视频在线播放 | 中文字幕第100页 | 国产一级片免费在线观看 | 国产精品永久在线观看 | 日本免费小视频 | 亚洲欧美另类中文字幕 | 亚洲精品国产精品国自产网站 | 国产精品女同 | 日韩中文字幕亚洲 | 国产精品wwww | 免费无码毛片一区二区app | 欧美日韩v | 亚洲一区二区av | 精品国产免费人成在线观看 | 一区二区三区四区欧美 | av操操操| 少女与动物高清版在线观看 | 国产精品中文字幕在线 | 男人操女人免费 | 高清国产一区二区三区 | 日本三级大片 | 免费黄色大片 | 久久久久久久久久久久久久久久久 | 亚洲免费自拍 | 欧美人与禽zozzo禽性配 | 人人看人人舔 | 欧美第五页| 成人毛片在线观看 | 亚洲aⅴ | 亚洲天堂成人av | 精品熟妇视频一区二区三区 | 99精品在线看 | 国产小视频你懂的 | 精品人妻无码一区 | 欧美日韩国 | 天天做天天爱夜夜爽 | 人妻aⅴ无码一区二区三区 阿v免费视频 | 久久老女人 | h视频国产 | 亚洲 小说区 图片区 | 国产精品视频免费看 | 一区二区三区不卡在线 | 国产精品50页 | 精品成人在线观看 | 海角国产乱辈乱精品视频 | 国产三级久久久 | 新版天堂资源中文8在线 | 久久国产成人精品国产成人亚洲 | 国产色在线,com | 少妇高潮一区二区三区69 | 激情亚洲天堂 | 悠悠色综合 | 天天操天天爽天天干 | 国产精品区二区三区日本 | 高跟鞋和丝袜猛烈xxxxxx | 亚洲成av人片在线观看无码 | 97色综合|