当前位置: 首页 > news >正文

C++:vector容器

vector容器与array容器相似,但vector容器是动态的,可以自动扩容。

使用方法和一些注意如下:

#include<iostream>
#include<vector>
using namespace std;int main()
{vector<char> vec = { 'a','b','c','d' };vec[4] = 'e';//不能以此方法扩容vec.push_back('e');//添加///*for (int i = 0; i < vec.size(); i++)//{//	cout << vec[i] << endl;//}*/vector<char>::iterator ite = vec.begin();while (ite != vec.end()){cout << *ite << endl;ite++;}return 0;
}

vector的扩容机制

1.分配新内存

2.复制原数据

3.释放就内存

4.更新指针,将vector的指针指向新的内存。

避免内存重新配置的方法:

vector<int> vec;cout << "size:" << vec.size() << "capacity:" << vec.capacity() << endl;//size:用了多少 capacity:能用多少vec.reserve(15);//指定大小for (int i = 0; i < 20; i++){vec.push_back(i);cout << "size:" << vec.size() << "capacity:"<<vec.capacity()<<endl;}

http://www.xdnf.cn/news/577621.html

相关文章:

  • 心知天气 API 获取天气预报 2025/5/21
  • QML定时器Timer和线程任务WorkerScript
  • 大模型评测与可解释性
  • Day 27 训练
  • Linux中的文件介绍
  • 通过美图秀秀将多张图片合并
  • 【UEFI实战】BIOS编译过程中报错“无法解析的外部符号memcpy”
  • 七: NumPy的使用
  • vue+srpingboot实现多文件导出
  • Unity中GPU Instancing使用整理
  • Python训练Day30
  • 第3周作业-1层隐藏层的神经网络分类二维数据
  • MQTT报文介绍
  • Linux内存分页管理详解
  • Jsoup解析商品信息具体怎么写?
  • 阿里发布扩散模型Wan VACE,全面支持生图、生视频、图像编辑,适配低显存~
  • FreeCAD傻瓜教程-外螺纹的绘制,利用两个实体进行布尔运算来实现
  • 《P1433 吃奶酪》
  • MCU开发学习记录19* - CAN学习与实践(HAL库) - 定时传输、触发传输和请求传输(轮询与中断实现) -STM32CubeMX
  • Python 代码缩进与结构化编程:从基础到风格规范
  • Robotaxi新消息密集释放,量产元年来临谁在领跑?
  • [Java恶补day2] 49. 字母异位词分组
  • 【SW】从3D模型导出dxf图纸
  • 【算法专题十五】BFS解决最短路问题
  • 04_Prometheus监控docker容器(4)
  • 智慧社区新防线:华奥系AI技术如何让夏季安防“零隐患”
  • 如何在JavaScript中将数值转换为字符串并赋值给数组——以RuoYi-Vue项目为例
  • Redis Cluster动态扩容:架构原理与核心机制解析
  • 航电系统之航点跟踪系统篇
  • C++(27): 标准库 <iterator>