C++中的vector
vector(向量)是一種序列式容器,類(lèi)似于數(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
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
原文標(biāo)題:在HLS中使用vector
文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
相關(guān)推薦
電子發(fā)燒友網(wǎng)站提供《OMAP5912多媒體處理器初始化參考指南.pdf》資料免費(fèi)下載
發(fā)表于 12-17 16:20
?0次下載
STM32F407微控制器單元(MCU)與SD NAND的結(jié)合提供了強(qiáng)大的存儲(chǔ)解決方案。然而,不斷電初始化失效問(wèn)題可能會(huì)導(dǎo)致系統(tǒng)穩(wěn)定性和數(shù)據(jù)完整性受損。我們將STM32F407與SD NAND集成時(shí)可能遇到的初始化問(wèn)題,并提供專(zhuān)業(yè)的解決方案。
發(fā)表于 12-11 10:51
?304次閱讀
的圖;
2.第二張圖是該變量在文件中的所有操作,第一行是初始化,該行代碼在初始化部分最后一個(gè),執(zhí)行完就是主循環(huán)了;
3.第2,3行也是對(duì)變量的賦值,在主循環(huán)中;
4.第4行已注釋?zhuān)?5.第6行是對(duì)變量
發(fā)表于 12-09 18:06
精確和魯棒的初始化對(duì)于視覺(jué)慣性里程計(jì)(VIO)至關(guān)重要,因?yàn)椴涣嫉?b class='flag-5'>初始化會(huì)嚴(yán)重降低姿態(tài)精度。
發(fā)表于 11-01 10:16
?322次閱讀
電子發(fā)燒友網(wǎng)站提供《TMS320C6000 McBSP初始化.pdf》資料免費(fèi)下載
發(fā)表于 10-26 10:10
?0次下載
有些時(shí)候在我們的應(yīng)用過(guò)程中要求變量有連續(xù)性,或者現(xiàn)場(chǎng)保留,例如Bootloader跳轉(zhuǎn),某種原因的復(fù)位過(guò)程中我們有些關(guān)鍵變量不能被初始化,在不同的編譯環(huán)境下有不同的設(shè)置,本文就這個(gè)操作做總結(jié),分別
發(fā)表于 08-30 11:47
?646次閱讀
卡初始化和識(shí)別過(guò)程: 總線激活后,主機(jī)啟動(dòng)卡初始化和識(shí)別過(guò)程。 初始化過(guò)程從SD SEND OP COND (ACMD41)開(kāi)始,通過(guò)設(shè)置其操作條件和OCR中的HCS位。HCS (Ho
發(fā)表于 07-22 10:54
?354次閱讀
初始化函數(shù),沒(méi)有結(jié)果。
我對(duì)gcc編譯過(guò)程不是很了解,makefile也只能看個(gè)一知半解。所以我更想知道RTOS_SDK的結(jié)構(gòu)是什么樣的。
我的理解是源文件都已經(jīng)編譯成了.a庫(kù)文件,通過(guò)include中
發(fā)表于 07-11 06:59
在初始化IO口為外部中斷線的時(shí)候,比如GPIOA6與GPIOB6先后初始化為外部中斷,最先初始化的會(huì)被后初始化的覆蓋掉,不知道是為什么?
發(fā)表于 05-14 08:26
的時(shí)候沒(méi)有指定數(shù)組的大小,只是做了初始化,而且這個(gè)初始化可以看到,而且自己可以定義初始化的值,并且初始化不同元素個(gè)數(shù)也可以,那么在其他文件求
發(fā)表于 05-14 07:03
對(duì)于數(shù)值類(lèi)型的變量往往初始化為0,但對(duì)于其他類(lèi)型的變量,如字符型、指針型等變量等該如何初始化呢?
發(fā)表于 03-18 11:02
?1433次閱讀
GPIO初始化時(shí)有時(shí)鐘配置、模式配置、輸出配置、復(fù)用配置,那么在編寫(xiě)初始化代碼時(shí),到底該按什么順序執(zhí)行呢?如果順序不當(dāng)那初始化過(guò)程可能會(huì)出現(xiàn)短暫的電平跳變。
發(fā)表于 02-22 11:07
?1526次閱讀
*cfg,uint32_t hz)
我查看了 \" MTB CAT1 外圍設(shè)備驅(qū)動(dòng)程序庫(kù)中的文檔。\"初始化不會(huì)那么復(fù)雜,對(duì)吧?
我的配置有什么問(wèn)題? 在此先感謝。
發(fā)表于 01-26 07:48
串口初始化是指在使用串口進(jìn)行數(shù)據(jù)通信之前,對(duì)串口進(jìn)行一系列的設(shè)置和配置,以確保串口能夠正常工作。串口初始化的內(nèi)容主要包括以下幾個(gè)方面: 串口硬件設(shè)置:首先,需要確定要使用的串口是哪一個(gè),通常計(jì)算機(jī)
發(fā)表于 01-04 09:39
?3151次閱讀
LabVIEW是一款強(qiáng)大的圖形化編程軟件,在運(yùn)行之前通常需要進(jìn)行一些初始化操作。本文將詳細(xì)介紹LabVIEW運(yùn)行前的初始化過(guò)程,并提供了一些常用的初始化方法。 創(chuàng)建新項(xiàng)目: 在LabV
發(fā)表于 12-28 17:24
?2624次閱讀
評(píng)論