0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++中vector的定義與初始化

FPGA技術(shù)驛站 ? 來源:Lauren的FPGA ? 作者:Lauren的FPGA ? 2021-02-02 16:41 ? 次閱讀

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ù)。

56516bb4-5fc8-11eb-8b86-12bb97331649.png

57b9a174-5fc8-11eb-8b86-12bb97331649.png

向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)投訴
  • C++
    C++
    +關(guān)注

    關(guān)注

    21

    文章

    2100

    瀏覽量

    73453
  • Vector
    +關(guān)注

    關(guān)注

    3

    文章

    54

    瀏覽量

    8541

原文標(biāo)題:在HLS中使用vector

文章出處:【微信號(hào):Lauren_FPGA,微信公眾號(hào):FPGA技術(shù)驛站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于旋轉(zhuǎn)平移解耦框架的視覺慣性初始化方法

    精確和魯棒的初始化對(duì)于視覺慣性里程計(jì)(VIO)至關(guān)重要,因?yàn)椴涣嫉?b class='flag-5'>初始化會(huì)嚴(yán)重降低姿態(tài)精度。
    的頭像 發(fā)表于 11-01 10:16 ?126次閱讀
    基于旋轉(zhuǎn)平移解耦框架的視覺慣性<b class='flag-5'>初始化</b>方法

    TMS320C6000 McBSP初始化

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000 McBSP初始化.pdf》資料免費(fèi)下載
    發(fā)表于 10-26 10:10 ?0次下載
    TMS320<b class='flag-5'>C</b>6000 McBSP<b class='flag-5'>初始化</b>

    Keil變量不被初始化方法

    有些時(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次閱讀
    Keil<b class='flag-5'>中</b>變量不被<b class='flag-5'>初始化</b>方法

    字符型、指針型等變量等該如何初始化

     對(duì)于數(shù)值類型的變量往往初始化為0,但對(duì)于其他類型的變量,如字符型、指針型等變量等該如何初始化呢?
    的頭像 發(fā)表于 03-18 11:02 ?1208次閱讀

    MCU單片機(jī)GPIO初始化該按什么順序配置?為什么初始化時(shí)有電平跳變?

    GPIO初始化時(shí)有時(shí)鐘配置、模式配置、輸出配置、復(fù)用配置,那么在編寫初始化代碼時(shí),到底該按什么順序執(zhí)行呢?如果順序不當(dāng)那初始化過程可能會(huì)出現(xiàn)短暫的電平跳變。
    的頭像 發(fā)表于 02-22 11:07 ?1388次閱讀
    MCU單片機(jī)GPIO<b class='flag-5'>初始化</b>該按什么順序配置?為什么<b class='flag-5'>初始化</b>時(shí)有電平跳變?

    串口初始化一般是初始化哪些內(nèi)容

    串口初始化是指在使用串口進(jìn)行數(shù)據(jù)通信之前,對(duì)串口進(jìn)行一系列的設(shè)置和配置,以確保串口能夠正常工作。串口初始化的內(nèi)容主要包括以下幾個(gè)方面: 串口硬件設(shè)置:首先,需要確定要使用的串口是哪一個(gè),通常計(jì)算機(jī)
    的頭像 發(fā)表于 01-04 09:39 ?2987次閱讀

    labview運(yùn)行后如何初始化

    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ī)制原理詳解

    自動(dòng)初始化機(jī)制是指初始化函數(shù)不需要被顯式調(diào)用,只需要在函數(shù)定義處通過宏定義的方式進(jìn)行申明,就會(huì)在系統(tǒng)啟動(dòng)過程中被執(zhí)行。這篇文章就來探索一下其中的奧秘, 簡(jiǎn)單理解其原理!
    的頭像 發(fā)表于 12-16 09:33 ?948次閱讀
    自動(dòng)<b class='flag-5'>初始化</b>機(jī)制原理詳解

    C語言編程時(shí),各種類型的變量該如何初始化

    C語言編程時(shí),各種類型的變量該如何初始化? 在C語言中,每個(gè)變量都需要在使用之前進(jìn)行初始化。初始化是為變量分配內(nèi)存空間并賦予
    的頭像 發(fā)表于 12-07 13:53 ?1095次閱讀

    secondary cpu初始化狀態(tài)設(shè)置

    ,用于填寫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次閱讀
    secondary cpu<b class='flag-5'>初始化</b>狀態(tài)設(shè)置

    在ubuntu20.04如何初始化rosdep

    初始化rosdep 輸入以下的命令,先對(duì)其初始化一下 sudo rosdep init 如果出現(xiàn)以下界面,那么恭喜你,你可以省下一些麻煩了,直接跳到第7步就行了: 如果出現(xiàn)了以下幾種錯(cuò)誤,也不要擔(dān)心
    的頭像 發(fā)表于 12-01 16:22 ?839次閱讀
    在ubuntu20.04<b class='flag-5'>中</b>如何<b class='flag-5'>初始化</b>rosdep

    C語言中的數(shù)組格式與初始化

    多少存儲(chǔ)空間。 數(shù)組格式與初始化 ????格式: ? 元素類型 數(shù)組名[元素個(gè)數(shù)]; ? ?????比如: ? int[3]; ? ????數(shù)組元素有順序之分,每個(gè)元素都有一個(gè)唯一的下標(biāo)(索引),而且都是從0開始。 ????數(shù)組第i個(gè)元素的訪問方式:? ? a[i] ?
    的頭像 發(fā)表于 11-26 16:12 ?736次閱讀
    <b class='flag-5'>C</b>語言中的數(shù)組格式與<b class='flag-5'>初始化</b>

    實(shí)戰(zhàn)經(jīng)驗(yàn) | Keil、IAR、CubeIDE 變量不被初始化方法

    關(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(初始化使用的寄存器)

    MSP430F5529硬件IIC驅(qū)動(dòng)OLED(初始化使用的寄存器)
    發(fā)表于 11-24 16:36 ?1次下載

    c語言字符串定義

    字符串的定義、初始化、操作和常見問題。 字符串的定義初始化C語言中,字符串被定義為一個(gè)字符
    的頭像 發(fā)表于 11-24 10:02 ?1740次閱讀