C++中的vector
vector(向量)是一種序列式容器,類似于數(shù)組,但比數(shù)組更優(yōu)越。一般來(lái)說(shuō)數(shù)組不能動(dòng)態(tài)拓展,因此在程序運(yùn)行的時(shí)候不是浪費(fèi)內(nèi)存,就是造成越界。而vector正好彌補(bǔ)了這個(gè)缺陷,它的特征是相當(dāng)于可拓展的數(shù)組(動(dòng)態(tài)數(shù)組),隨機(jī)訪問(wèn)快,在中間插入和刪除慢,但在末端插入和刪除快。
vector的定義與初始化
使用vector時(shí),要將相應(yīng)容器的頭文件,如下圖所示代碼第2行。vector初始化方式如代碼第7行至第11行所示。代碼第14行至第36行依次驗(yàn)證了所創(chuàng)建vector的初始值。這里begin()返回vector起始指針,end()返回末尾指針,size()返回vector所包含元素的個(gè)數(shù)。


向vector末尾添加或刪除元素可借助函數(shù)push_back()和pop_back()完成。函數(shù)capacity()返回當(dāng)前分配給vector的存儲(chǔ)空間,這個(gè)值不是必須和size()返回值相等,可以大于size()返回值。同時(shí),capacity()的返回值并沒(méi)有限定vector的大小,當(dāng)需要更多空間時(shí),容器會(huì)自動(dòng)擴(kuò)展。理論上限由函數(shù)max_size()返回值決定。我們可借助如下圖所示代碼體會(huì)三者的區(qū)別。
原文標(biāo)題:在HLS中使用vector
文章出處:【微信公眾號(hào):Lauren的FPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
責(zé)任編輯:haq
-
C++
+關(guān)注
關(guān)注
22文章
2120瀏覽量
76577 -
Vector
+關(guān)注
關(guān)注
3文章
84瀏覽量
9785
原文標(biāo)題:在HLS中使用vector
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)33:初始化功能驗(yàn)證與分析
GraniStudio:IO初始化以及IO資源配置例程
GraniStudio:初始化例程
MCU外設(shè)初始化:為什么參數(shù)配置必須優(yōu)先于使能
定義IO初始化結(jié)構(gòu)體
IM 系列設(shè)備過(guò)載保護(hù)機(jī)制下界面初始化中斷的底層邏輯與解決方案
STM32CubeMX用于STM32配置和初始化C代碼生成
EE-359:ADSP-CM40x啟動(dòng)時(shí)間優(yōu)化和器件初始化
EE-88:使用21xx編譯器在C中初始化變量
OMAP5912多媒體處理器初始化參考指南
STM32F407 MCU使用SD NAND?不斷電初始化失效解決方案
segger編譯器初始化問(wèn)題
請(qǐng)問(wèn)LMX2595配置時(shí)如何進(jìn)行初始化?
基于旋轉(zhuǎn)平移解耦框架的視覺(jué)慣性初始化方法
TMS320C6000 McBSP初始化

C++中vector的定義與初始化
評(píng)論