嵌入式开发内存管理是非常重要的一环,如何高效的使用vector,既能够快速扩展存储空间,并且最大限度的使用存储空间,避免C数组的越界问题

方案

vector提供多种构造器

1 vector<int> vec;

vec.reserve(10);

默认构造器没有分配任何的内存空间,直到调用reserve(10),分配10个单位的存储空间,如果后续存储空间不够,会重新分配一块足够大的内存,避免了插入失败

2 vector<int> vec(10);

当前分配10个单位的存储空间,此时所有的元素初始化为0,如果此时调用push_back函数

添加元素,vec的元素个数是11个

测试代码

#include <vector>

int TestVector()

{

int v1[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

std::vector<int> v2;

v2.reserve(10);

for (int i = 0; i < 10; i++)

{

v2.push_back(v1[i]);

}

std::vector<int>::iterator iter = v2.begin();

while (iter != v2.end())

{

cout << *iter << endl;

iter++;

}

return 0;

}

转载于:https://blog.51cto.com/fengyuzaitu/1978712

STL vector 用法相关推荐

  1. STL vector用法介绍

    STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和f ...

  2. STL vector 用法介绍

    介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if()和for_each()中的使用.通 ...

  3. C++ stl vector介绍

    转自: STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector,如何恰当地使用它们的成员函数等操作.本文中还讨论了条件函数和函数指针在迭代算法中使用,如在remove_if ...

  4. STL中map和string, vector 用法详解

    1. map 用法详解 std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成 ...

  5. C++ STL初学之vector用法及使用

    一.在C++中的详细说明 vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库. vector之所以被认为是一个容器,是因为它能够像容器一样存放各种 ...

  6. C++ map用法总结和vector用法总结

    本文仅是用于自己查找方便而写,并不专业,如果想看详解,请查看C++ map用法总结(整理)和C++ Vector的用法总结(整理) map用法总结 map是STL的一个关联容器,为key和value的 ...

  7. c语言 vector用法,C++ vector用法初记

    C++ vector用法小记 最近在leetcode上面做题,STL的vector用的甚多,这里稍微的总结下vector的一些常用方法,包括一维的和二维的,暂时能想到的就给记下了. 一维vector ...

  8. STL vector的几种清空容器(删除)办法

    1.为什么需要主动释放vector内存 来自 <https://blog.csdn.net/hellokandy/article/details/78500067> vector其中一个特 ...

  9. boost::mpl::vector用法的测试程序

    boost::mpl::vector用法的测试程序 实现功能 C++实现代码 实现功能 boost::mpl::vector用法的测试程序 C++实现代码 #include <boost/han ...

最新文章

  1. go 调用dll char*传输
  2. 关于Hadoop多用户管理支持客户端远程操作的理论总结
  3. BeagleBone Black QNX6.6 BSP中IPL的完善
  4. Git的安装与使用教程
  5. VirtualBox桥接网络的简单配置,让虚拟机直接访问网络
  6. layUI table 内容超出宽度怎么换行显示,而不是显示省略号
  7. 在VS中查看Halcon变量
  8. 微电子专业深度盘点:哪所大学芯片最强?强在哪?(第2弹)
  9. docker命令的使用
  10. 技术图文:基于“科比投篮”数据集学Pandas
  11. 写给应届毕业生-------五险一金以及个人所得税缴纳计算
  12. Lead项目中简单分析卡号的编码规则
  13. EOJ 2990 文献排序 C语言
  14. oracle px execute reply,关于昨天的PX Deq: Execute Reply重新开贴请教
  15. 登陆和登录,login
  16. CSS-边框和边距详解
  17. 学习设计到底应该学习figma、sketch还是PS
  18. 移动端布局介绍——css像素/物理像素/设备像素比
  19. 【格灵深瞳】电话面试
  20. poj 3084 最小割

热门文章

  1. 标准WPS框架下的空间信息处理服务部署方法
  2. 升级nodejs至最新
  3. [Java] [Lock] [Synchronized VS ReentrantLock]
  4. HDU 1114 Piggy-Bank 简单DP
  5. 《Storm入门》中文版
  6. oracle_面试题
  7. Oracle RAC CRS-0184 --Cannot communicate with the CRS daemon
  8. 利用操作系统提供的API编写防火墙
  9. 诗与远方:无题(六十七)- 张国荣,想你
  10. Java的数据库编程之背景概述