0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C++中vector的定义与初始化

FPGA技术驿站 来源:Lauren的FPGA 作者:Lauren的FPGA 2021-02-02 16:41 次阅读

C++中的vector

vector(向量)是一种序列式容器,类似于数组,但比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可拓展的数组(动态数组),随机访问快,在中间插入和删除慢,但在末端插入和删除快。

vector的定义与初始化

使用vector时,要将相应容器的头文件,如下图所示代码第2行。vector初始化方式如代码第7行至第11行所示。代码第14行至第36行依次验证了所创建vector的初始值。这里begin()返回vector起始指针,end()返回末尾指针,size()返回vector所包含元素的个数。

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

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

向vector末尾添加或删除元素可借助函数push_back()和pop_back()完成。函数capacity()返回当前分配给vector的存储空间,这个值不是必须和size()返回值相等,可以大于size()返回值。同时,capacity()的返回值并没有限定vector的大小,当需要更多空间时,容器会自动扩展。理论上限由函数max_size()返回值决定。我们可借助如下图所示代码体会三者的区别。

原文标题:在HLS中使用vector

文章出处:【微信公众号:Lauren的FPGA】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73638
  • Vector
    +关注

    关注

    3

    文章

    60

    浏览量

    8598

原文标题:在HLS中使用vector

文章出处:【微信号:Lauren_FPGA,微信公众号:FPGA技术驿站】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OMAP5912多媒体处理器初始化参考指南

    电子发烧友网站提供《OMAP5912多媒体处理器初始化参考指南.pdf》资料免费下载
    发表于 12-17 16:20 0次下载
    OMAP5912多媒体处理器<b class='flag-5'>初始化</b>参考指南

    STM32F407 MCU使用SD NAND 不断电初始化失效解决方案

    STM32F407微控制器单元(MCU)与SD NAND的结合提供了强大的存储解决方案。然而,不断电初始化失效问题可能会导致系统稳定性和数据完整性受损。我们将STM32F407与SD NAND集成时可能遇到的初始化问题,并提供专业的解决方案。
    的头像 发表于 12-11 10:51 326次阅读
    STM32F407 MCU使用SD NAND 不断电<b class='flag-5'>初始化</b>失效解决方案

    segger编译器初始化问题

    的图; 2.第二张图是该变量在文件的所有操作,第一行是初始化,该行代码在初始化部分最后一个,执行完就是主循环了; 3.第2,3行也是对变量的赋值,在主循环中; 4.第4行已注释; 5.第6行是对变量
    发表于 12-09 18:06

    基于旋转平移解耦框架的视觉惯性初始化方法

    精确和鲁棒的初始化对于视觉惯性里程计(VIO)至关重要,因为不良的初始化会严重降低姿态精度。
    的头像 发表于 11-01 10:16 336次阅读
    基于旋转平移解耦框架的视觉惯性<b class='flag-5'>初始化</b>方法

    TMS320C6000 McBSP初始化

    电子发烧友网站提供《TMS320C6000 McBSP初始化.pdf》资料免费下载
    发表于 10-26 10:10 0次下载
    TMS320<b class='flag-5'>C</b>6000 McBSP<b class='flag-5'>初始化</b>

    Keil变量不被初始化方法

    有些时候在我们的应用过程要求变量有连续性,或者现场保留,例如Bootloader跳转,某种原因的复位过程我们有些关键变量不能被初始化,在不同的编译环境下有不同的设置,本文就这个操作做总结,分别
    的头像 发表于 08-30 11:47 656次阅读
    Keil<b class='flag-5'>中</b>变量不被<b class='flag-5'>初始化</b>方法

    瀚海微SD NAND应用之SD协议存储功能描述2 初始化命令

    初始化和识别过程: 总线激活后,主机启动卡初始化和识别过程。 初始化过程从SD SEND OP COND (ACMD41)开始,通过设置其操作条件和OCR的HCS位。HCS (Ho
    的头像 发表于 07-22 10:54 363次阅读
    瀚海微SD NAND应用之SD协议存储功能描述2 <b class='flag-5'>初始化</b>命令

    使用RTOS_SDK,在哪里初始化我的串口UART0?

    初始化函数,没有结果。 我对gcc编译过程不是很了解,makefile也只能看个一知半解。所以我更想知道RTOS_SDK的结构是什么样的。 我的理解是源文件都已经编译成了.a库文件,通过include
    发表于 07-11 06:59

    初始化IO口为外部中断线的时候,最先初始化的会被后初始化的覆盖掉为什么?

    初始化IO口为外部中断线的时候,比如GPIOA6与GPIOB6先后初始化为外部中断,最先初始化的会被后初始化的覆盖掉,不知道是为什么?
    发表于 05-14 08:26

    在一个.c文件定义一个数组遇到的疑问求解

    的时候没有指定数组的大小,只是做了初始化,而且这个初始化可以看到,而且自己可以定义初始化的值,并且初始化不同元素个数也可以,那么在其他文件求
    发表于 05-14 07:03

    字符型、指针型等变量等该如何初始化

     对于数值类型的变量往往初始化为0,但对于其他类型的变量,如字符型、指针型等变量等该如何初始化呢?
    的头像 发表于 03-18 11:02 1453次阅读

    MCU单片机GPIO初始化该按什么顺序配置?为什么初始化时有电平跳变?

    GPIO初始化时有时钟配置、模式配置、输出配置、复用配置,那么在编写初始化代码时,到底该按什么顺序执行呢?如果顺序不当那初始化过程可能会出现短暂的电平跳变。
    的头像 发表于 02-22 11:07 1537次阅读
    MCU单片机GPIO<b class='flag-5'>初始化</b>该按什么顺序配置?为什么<b class='flag-5'>初始化</b>时有电平跳变?

    如何在PSOC 6初始化QSPI?

    *cfg,uint32_t hz) 我查看了 \" MTB CAT1 外围设备驱动程序库的文档。\"初始化不会那么复杂,对吧? 我的配置有什么问题? 在此先感谢。
    发表于 01-26 07:48

    串口初始化一般是初始化哪些内容

    串口初始化是指在使用串口进行数据通信之前,对串口进行一系列的设置和配置,以确保串口能够正常工作。串口初始化的内容主要包括以下几个方面: 串口硬件设置:首先,需要确定要使用的串口是哪一个,通常计算机
    的头像 发表于 01-04 09:39 3181次阅读

    labview运行后如何初始化

    LabVIEW是一款强大的图形编程软件,在运行之前通常需要进行一些初始化操作。本文将详细介绍LabVIEW运行前的初始化过程,并提供了一些常用的初始化方法。 创建新项目: 在LabV
    的头像 发表于 12-28 17:24 2649次阅读