C++中的vector
vector(向量)是一種序列式容器,類似于數(shù)組,但比數(shù)組更優(yōu)越。一般來說數(shù)組不能動(dòng)態(tài)拓展,因此在程序運(yùn)行的時(shí)候不是浪費(fèi)內(nèi)存,就是造成越界。而vector正好彌補(bǔ)了這個(gè)缺陷,它的特征是相當(dāng)于可拓展的數(shù)組(動(dòng)態(tài)數(shù)組),隨機(jī)訪問快,在中間插入和刪除慢,但在末端插入和刪除快。
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()的返回值并沒有限定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)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(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)推薦
精確和魯棒的初始化對(duì)于視覺慣性里程計(jì)(VIO)至關(guān)重要,因?yàn)椴涣嫉?b class='flag-5'>初始化會(huì)嚴(yán)重降低姿態(tài)精度。
發(fā)表于 11-01 10:16
?126次閱讀
電子發(fā)燒友網(wǎng)站提供《TMS320C6000 McBSP初始化.pdf》資料免費(fèi)下載
發(fā)表于 10-26 10:10
?0次下載
有些時(shí)候在我們的應(yīng)用過程中要求變量有連續(xù)性,或者現(xiàn)場(chǎng)保留,例如Bootloader跳轉(zhuǎn),某種原因的復(fù)位過程中我們有些關(guān)鍵變量不能被初始化,在不同的編譯環(huán)境下有不同的設(shè)置,本文就這個(gè)操作做總結(jié),分別
發(fā)表于 08-30 11:47
?469次閱讀
對(duì)于數(shù)值類型的變量往往初始化為0,但對(duì)于其他類型的變量,如字符型、指針型等變量等該如何初始化呢?
發(fā)表于 03-18 11:02
?1208次閱讀
GPIO初始化時(shí)有時(shí)鐘配置、模式配置、輸出配置、復(fù)用配置,那么在編寫初始化代碼時(shí),到底該按什么順序執(zhí)行呢?如果順序不當(dāng)那初始化過程可能會(huì)出現(xiàn)短暫的電平跳變。
發(fā)表于 02-22 11:07
?1388次閱讀
串口初始化是指在使用串口進(jìn)行數(shù)據(jù)通信之前,對(duì)串口進(jìn)行一系列的設(shè)置和配置,以確保串口能夠正常工作。串口初始化的內(nèi)容主要包括以下幾個(gè)方面: 串口硬件設(shè)置:首先,需要確定要使用的串口是哪一個(gè),通常計(jì)算機(jī)
發(fā)表于 01-04 09:39
?2987次閱讀
LabVIEW是一款強(qiáng)大的圖形化編程軟件,在運(yùn)行之前通常需要進(jìn)行一些初始化操作。本文將詳細(xì)介紹LabVIEW運(yùn)行前的初始化過程,并提供了一些常用的初始化方法。 創(chuàng)建新項(xiàng)目: 在LabV
發(fā)表于 12-28 17:24
?2406次閱讀
自動(dòng)初始化機(jī)制是指初始化函數(shù)不需要被顯式調(diào)用,只需要在函數(shù)定義處通過宏定義的方式進(jìn)行申明,就會(huì)在系統(tǒng)啟動(dòng)過程中被執(zhí)行。這篇文章就來探索一下其中的奧秘, 簡(jiǎn)單理解其原理!
發(fā)表于 12-16 09:33
?948次閱讀
C語言編程時(shí),各種類型的變量該如何初始化? 在C語言中,每個(gè)變量都需要在使用之前進(jìn)行初始化。初始化是為變量分配內(nèi)存空間并賦予
發(fā)表于 12-07 13:53
?1095次閱讀
,用于填寫secondary cpu的入口地址。 uboot負(fù)責(zé)將這塊內(nèi)存的地址寫入devicetree中,當(dāng)內(nèi)核初始化完成,需要啟動(dòng)secondary cpu時(shí),就將其內(nèi)核入口地址寫到那塊內(nèi)存中
發(fā)表于 12-05 15:27
?965次閱讀
初始化rosdep 輸入以下的命令,先對(duì)其初始化一下 sudo rosdep init 如果出現(xiàn)以下界面,那么恭喜你,你可以省下一些麻煩了,直接跳到第7步就行了: 如果出現(xiàn)了以下幾種錯(cuò)誤,也不要擔(dān)心
發(fā)表于 12-01 16:22
?839次閱讀
多少存儲(chǔ)空間。 數(shù)組格式與初始化 ????格式: ? 元素類型 數(shù)組名[元素個(gè)數(shù)]; ? ?????比如: ? int[3]; ? ????數(shù)組元素有順序之分,每個(gè)元素都有一個(gè)唯一的下標(biāo)(索引),而且都是從0開始。 ????數(shù)組中第i個(gè)元素的訪問方式:? ? a[i] ?
發(fā)表于 11-26 16:12
?736次閱讀
關(guān)鍵詞:不被初始化,編譯環(huán)境 目錄預(yù)覽 1、前言 2、IAR 實(shí)現(xiàn)變量不初始化方法 3、Keil 實(shí)現(xiàn)變量不被初始化方法 4、CubeIDE 實(shí)現(xiàn)變量不初始化方法 01 前言 有些時(shí)候
發(fā)表于 11-24 18:05
?3751次閱讀
MSP430F5529硬件IIC驅(qū)動(dòng)OLED(初始化使用的寄存器)
發(fā)表于 11-24 16:36
?1次下載
字符串的定義、初始化、操作和常見問題。 字符串的定義和初始化 在C語言中,字符串被定義為一個(gè)字符
發(fā)表于 11-24 10:02
?1740次閱讀
評(píng)論