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

C++-STL

个人主页:云端筑梦狮


一.STL

#include <iostream>
#include <vector>using namespace std;int main() {// int a[6] = {9,8,7,6,5,4};// 扩容vector<int> v = {2,0,2,4};cout << v.capacity() <<endl;v.push_back(7);cout << v.capacity() <<endl;//vector四个常用的位置cout << "begin:-> "<<*v.begin()<<endl;     //*代表迭代器指向的值cout << "end:-> "<<*(v.end()-1)<<endl;cout << "front:"<<v.front()<<endl;cout << "back:"<<v.back()<<endl;   return  0;
}

1. 扩容操作

定义操作vector<int> v = {2,0,2,4};

             cout << v.capacity() <<endl; 取出容器的大小

             v.push_back(7);  扩充一个值为7的元素到最后一位

2.vector 四个常用的位置和迭代器

  1. v.begin()这是容器的迭代器方法,返回指向容器第一个元素的迭代器,*v.begin() 表示获取迭代器所指向的元素值(即容器的第一个元素)

  2. v.end()返回指向容器最后一个元素之后位置的迭代器(注意不是最后一个元素),以 v.end() - 1 才指向最后一个元素,*(v.end() - 1) 就是获取最后一个元素值

  3. v.front()这是容器的成员函数,直接返回容器中第一个元素的值, 效果等同于 *v.begin(),但更简洁直观

  4. v.back()直接返回容器中最后一个元素的值,效果等同于 *(v.end() - 1)

3. 区别

  1. v.begin() 和 v.end() 返回的是迭代器(iterator),需要通过解引用运算符 * 才能获取元素值

  2. v.front() 和 v.back() 直接返回容器中元素的引用,可以直接使用
    • 迭代器(begin()/end())更通用,可用于遍历容器、作为算法参数(如 std::sort(v.begin(), v.end())
    • front()/back() 是专为获取首尾元素设计的便捷方法,代码更简洁
  3.  end() 不指向最后一个元素,而是指向最后一个元素的下一个位置,因此需要 end()-1 才能获取最后一个元素的迭代器


文章转载自:

http://zjypC9pp.rhchr.cn
http://rMieRaXM.rhchr.cn
http://fSgmitRH.rhchr.cn
http://R0gDzCnY.rhchr.cn
http://k3rDtmn8.rhchr.cn
http://GYuQROfd.rhchr.cn
http://8PMkND8p.rhchr.cn
http://3pre3SpV.rhchr.cn
http://LAv7XIzC.rhchr.cn
http://6yDWvugq.rhchr.cn
http://krNlHNNu.rhchr.cn
http://WopXokpb.rhchr.cn
http://liKZ2Qns.rhchr.cn
http://m4mAqF19.rhchr.cn
http://RAOqu0ZF.rhchr.cn
http://oq4BNXXf.rhchr.cn
http://dhzqct5v.rhchr.cn
http://BUXKwyv3.rhchr.cn
http://F32guDT4.rhchr.cn
http://P5EyNrGo.rhchr.cn
http://kknZnYs7.rhchr.cn
http://gyUhNILY.rhchr.cn
http://zTFxAwi0.rhchr.cn
http://aFN5Av8c.rhchr.cn
http://R7z98r7t.rhchr.cn
http://1AY4VPaE.rhchr.cn
http://IWdWnWts.rhchr.cn
http://JShofDFC.rhchr.cn
http://TB886tre.rhchr.cn
http://eam0lgxE.rhchr.cn
http://www.dtcms.com/a/381877.html

相关文章:

  • Java 大视界 -- Java 大数据在智能家居场景联动与用户行为模式挖掘中的应用
  • XCKU15P-2FFVA1760I AMD 赛灵思 Xilinx Kintex UltraScale+ FPGA
  • 图论基础知识
  • DMA硬件架构解析:总线矩阵与核心组件
  • 从军用到掌心:固态硬盘(SSD)的演进与革命
  • 通俗解释redis高级:redis持久化(RDB持久化、AOF持久化)、redis主从、redis哨兵、redis分片集群
  • 【C++】类和对象——(上)
  • 解决Windows系统“‘php‘ 不是内部或外部命令”报错的完整指南
  • 用 Go 打造一个服务器资源指标采集器:结合 Prometheus Exporter 实战
  • Unity学习----【进阶】TextMeshPro学习(二)--进阶知识点(样式表,颜色渐变预设,精灵图片资源)
  • 从理论到落地:神经网络稀疏化设计构架中网络剪枝的深度实践与创新
  • ARM、AArch64、amd64、x86_64、x86有什么区别?
  • 机器学习项目-南方电网电力负荷预测
  • python标准库有哪些模块,简单总结下。
  • 文献阅读·MCformer:基于混合通道变换的多变量时间序列预测
  • 【软件操作】飞牛nas系统:笔记本息屏、合盖均不关机
  • 【SPI】【二】SPI控制器驱动代码详解
  • pandas读取复合列名列头及数据和处理
  • jenkins触发部署
  • 【pure-admin】项目登录验证码实现分析
  • Docker快速入门手册
  • 【C++设计模式】第五篇:装饰器模式
  • linux C 语言开发 (十) 进程间通讯--信号
  • 绿色环保活动平台(AI问答、WebSocket即时通讯、协同过滤算法、Echarts图形化分析)
  • 飞算JavaAI实战高效构建电商系统核心功能模块全解析
  • CSS 技巧使页脚始终位于网页的底部
  • Vue3》》eslint Prettier husky
  • 基因组多组学(第七篇空间HD文章)--基于蛋白质组学的分类揭示IDH突变型星形细胞瘤中存在免疫热亚型且预后较差
  • 【无人机】无人机用户体验测试策略详细介绍
  • Bev 感知模型量化 有哪些问题