C++ STL--vector用法总结

vector 赋值_C++使用vector创建三维、四维、五维数组等高维数组的方法 C++使用vector创建三维、四维、五维数组等高维数组的方法:实现功能为:创建三维数组a1[n][m][k]全部赋值为3创建四维数组a2[n][m][k][p]全部赋值为4创建五维数组a3[n][m][k][p][q]全部赋值为5并将数组里面的值进行显示。代码实现:#include#include#includeusing namespace std;void main() { ve... 阅读详情

1. 什么是vector?

向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。

2. 容器特性

  1. 顺序序列
    顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。
  2. 动态数组
    支持对序列中的任意元素进行快速直接访问,甚至可以通过指针算术进行该操作。提供了在序列末尾相对快速地添加/删除元素的操作。
  3. 能够感知内存分配器的(Allocator-aware)
    容器使用一个内存分配器对象来动态地处理它的存储需求。

3. 基本函数实现

  1. 构造函数
    vector():创建一个空vector
    vector(int nSize):创建一个vector,元素个数为nSize
    vector(int nSize,const t& t):创建一个vector,元素个数为nSize,且值均为t
    vector(const vector&):复制构造函数
    vector(begin,end):复制[begin,end)区间内另一个数组的元素到vector中
  2. 增加函数
    void push_back(const T& x):向量尾部增加一个元素X
    iterator insert(iterator it,const T& x):向量中迭代器指向元素前增加一个元素x
    iterator insert(iterator it,int n,const T& x):向量中迭代器指向元素前增加n个相同的元素x
    iterator insert(iterator it,const_iterator first,const_iterator last):向量中迭代器指向元素前插入另一个相同类型向量的[first,last)间的数据
  3. 删除函数
    iterator erase(iterator it):删除向量中迭代器指向元素
    iterator erase(iterator first,iterator last):删除向量中[first,last)中元素
    void pop_back():删除向量中最后一个元素
    void clear():清空向量中所有元素
  4. 遍历函数
    reference at(int pos):返回pos位置元素的引用
    reference front():返回首元素的引用
    reference back():返回尾元素的引用
    iterator begin():返回向量头指针,指向第一个元素
    iterator end():返回向量尾指针,指向向量最后一个元素的下一个位置
    reverse_iterator rbegin():反向迭代器,指向最后一个元素
    reverse_iterator rend():反向迭代器,指向第一个元素之前的位置
  5. 判断函数
    bool empty() const:判断向量是否为空,若为空,则向量中无元素
  6. 大小函数
    int size() const:返回向量中元素的个数
    int capacity() const:返回当前向量张红所能容纳的最大元素值
    int max_size() const:返回最大可允许的vector元素数量值
  7. 其他函数
    void swap(vector&):交换两个同类型向量的数据
    void assign(int n,const T& x):设置向量中第n个元素的值为x
    void assign(const_iterator first,const_iterator last):向量中[first,last)中元素设置成当前向量元素

常用函数汇总

1.push_back 在数组的最后添加一个数据
2.pop_back 去掉数组的最后一个数据
3.at 得到编号位置的数据
4.begin 得到数组头的指针
5.end 得到数组的最后一个单元+1的指针
6.front 得到数组头的引用
7.back 得到数组的最后一个单元的引用
8.max_size 得到vector最大可以是多大
9.capacity 当前vector分配的大小
10.size 当前使用数据的大小
11.resize 改变当前使用数据的大小,如果它比当前使用的大,者填充默认值
12.reserve 改变当前vecotr所分配空间的大小
13.erase 删除指针指向的数据项
14.clear 清空当前的vector
15.rbegin 将vector反转后的开始指针返回(其实就是原来的end-1)
16.rend 将vector反转构的结束指针返回(其实就是原来的begin-1)
17.empty 判断vector是否为空
18.swap 与另一个vector交换数据

4. 基本用法

#include < vector> 
using namespace std;

1.vector<类型>标识符
2.vector<类型>标识符(最大容量)
3.vector<类型>标识符(最大容量,初始所有值)
4.int i[5]={1,2,3,4,5} 
  vector<类型>vi(i,i+2);//复制i中索引值为0-2的值初始化vi
5.vector< vector<int> >v; //二维向量,这里最外的<>要有空格。否则在比较旧的编译器下无法通过

参考源文档

c++ 空间向量类(Vector3D)的实现 该类可用于描述3D向量和点在空间中的位置。 可以使用该类保存与计算 3D 位置和方向。 此外,它还包含用于执行常见向量操作的函数。 头文件: #pragma once #include <cmath> #include <iostream> using namespace std; const double PI = 3.14159265358979323846; //转角度 double Deg(double rad) { return rad * 180.0 / PI; } // 阅读详情

相关推荐

C++STL中list, vector, map, set用法与区别

List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。 Vector与list Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。 List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要...

HeiRen 1745

C++(笔记)浅析vector容器的实例

一、什么是vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。 二、容器特性1.顺序序列 顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。 2.动态数组 支持对序列中的任意元素进行快速直接访问

浅然的专栏 1万+

C++ STL教程-vector用法详解

STL教程总地址:STL教程:C++ STL快速入门 C++ STL基本组成(6大组件+13个头文件) STL的组成 含义 容器 一些封装数据结构的模板类,例如 vector 向量容器、list 列表容器等。 算法 STL 提供了非常多(大约 100 个)的数据结构算法,它们都被设计成一个个的模板函数,这些算法在 std 命名空间中定义,其中大部分算法都 包含在头文件 <algorithm> 中,少部分位于头文件 <numeric> 中

qq_33287871的博客 548

C++ vector容器使用

一、vector容器四种遍历方式 #include<iostream> #include <vector> #include <algorithm> using namespace std; void print(vector <int> v); bool mycmpare(const int &a, const int &b...

weixin_40593924的博客 626

GD32F407工程模板搭建全记录:从零整理固件库、创建文件夹到编译通过

本文详细记录了GD32F407工程模板的搭建过程,从固件库整理、目录规划到Keil环境配置,帮助开发者快速搭建可维护的嵌入式工程结构。重点介绍了开发环境搭建、工程目录设计、Keil配置及常见编译问题解决方案,适合嵌入式开发者参考。

weixin_29164497的博客 118

保姆级教程:用NX机电概念设计与RobotStudio实现ModbusTCP联合仿真(附完整代码)

本文提供了一份详细的NX机电概念设计与RobotStudio联合仿真实战教程。通过ModbusTCP协议构建数据桥梁,实现机械行为与机器人控制逻辑的双向实时同步。文章从环境搭建、信号配置、RAPID代码编写到联合调试,逐步拆解了实现数字孪生核心链路的关键步骤,并分享了常见问题排查方法,助力工程师在虚拟环境中提前验证产线协同。

sat99的博客 1098

【C++】一文带你精通vector容器

C++ 中的 vector 是一种顺序容器,是一个封装了动态大小数组的顺序容器,可以存放任意类型的数据。vector 可以随着元素的加入自动扩充其大小,并且支持在中间插入或删除元素。vector 内部使用动态分配内存的方式存储元素,可以根据需要自动调整内存空间大小,不需要事先指定容器大小。

等风来 5290

掌握SiOME:从零构建OPC UA信息模型的完整指南

本文是掌握SiOME工具的完整指南,详细介绍了如何利用这款免费且强大的OPC UA建模工具,从零开始构建信息模型。内容涵盖从获取软件、创建命名空间、定义对象类型与变量,到添加方法、生成XML文件,并最终将其集成到开源的open62541服务器中。通过可视化建模,开发者可以高效、准确地设计复杂模型,大幅提升工业物联网与自动化项目的开发效率。

tcp8optimizer的博客 515

C++ stl容器之vector用法

vector容器用法

hutaotaotao的博客 1275

UE5网络模块实战:属性复制、RPC与联机开发踩坑指南

多人联机开发中,网络同步是核心难题。UE5网络模块以服务器权威为基础,通过Actor复制、RPC和所有权机制实现多端状态一致。理解属性复制与OnRep回调、区分Server/Client/Multicast RPC的适用场景,是构建稳定联机架构的关键。本文结合数字孪生与多端协作场景,探讨如何将渲染与逻辑分离,并针对打包后网络失效、端口防火墙、崩溃排查等工程实践问题给出解决方案。通过蓝图接口解耦表现层,利用C++创建StaticMesh组件实现服务器逻辑与客户端表现分离,同时注意专用服务器不加载渲染依赖(如D

weixin_29010003的博客 272

从FreeCAD到BIMBase:PlaneGCS约束求解器的移植使用指南

本文为BIMBase平台的开发者提供了一份详细的PlaneGCS几何约束求解器移植与集成指南。文章深入探讨了如何从FreeCAD中提取PlaneGCS核心代码,并将其适配到BIMBase的C++二次开发环境中,重点解决了内存管理、数据模型桥接、约束抽象以及性能调优等关键问题,旨在帮助开发者构建稳定高效的参数化设计模块。

weixin_29213525的博客 320

C++ STL之vector用法总结

C++ STL之vector用法总结 介绍 vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。 本质讲,vector使用动态分配数组来存储它的元素。当新元素插入时候,这个数组需要被重新分配大小为了增...

雪雪 276

LaTeX公式转Word竟这么简单?Python三行代码实现学术论文格式无忧

本文介绍如何利用Python的latex2word库,仅需三行代码即可将LaTeX数学公式精准转换为Word原生Office Math对象,解决学术写作中LaTeX与Word格式割裂的难题。该方法支持批量处理、格式保真,并能与Markdown、Jupyter Notebook等工具集成,构建自动化写作流程,实现学术论文格式无忧。

qsc90123456的博客 295

C++STL之vector用法总结

C++STL之vector用法总结 C++ STL 之vector用法总结 粘贴自:https://www.cnblogs.com/zhonghuasong/p/5975979.html 介绍 vector是表示可变大小数组的序列容器。 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问...

Youpeng 183

SAP中关于预测需求的重要载体:计划独立需求

预测,就是为了调节客户需求的波动、不平衡,使企业的生产计划、物料计划尽量平稳、有序的必备工具。计划独立需求,Planned Independent Requirement(PIR)是SAP系统中最常见的预测需求。

saplakes的博客 1878

TC8:SOMEIPSRV_SD_MESSAGE_07-09

TTL为服务实例的生命周期。在此生命周期之后,不提供服务实例。

jasonj333 908

【C++STL】vector的详细用法和底层原理

本文详细介绍了C++ STL中vector容器的使用方法,包括创建方式、常用成员函数和算法操作。主要内容包括:1. vector的创建方式及初始化方法;2. 迭代器、容量管理、元素访问和修改器等常用函数;3. push_back、insert、erase等元素操作方法;4. sort、unique、reverse等算法操作;5. 查找最值的方法;6. vector扩容机制及优化建议。文章通过代码示例展示了vector的各种用法,并比较了不同操作之间的区别,如push_back与emplace_back的效率

tangsl1552的博客 1606

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

vector 二维数组_C++ STL中 Vector的基本用法

C++ STL中 Vector的基本用法一维vector创建一维vector:vector<int> nums;//不指定长度vector<int> nums(n); // 指定长度为n 添加元素nums.push_back(1);//直接从数组末端添加nums[i] = 1;//直接赋值给第i个位置删除元素nums.resize(nums.size-i); //直接将数组...

weixin_39623350的博客 4611

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

c++ STL vector的用法总结

初始化与赋值 可以直接使用数组常量对vector进行初始化和赋值: vector<int> a={1,2,3}; a={4,5,6,7}; 可以使用数组变量对vector进行初始化: int a[5]={1,2,3,4,5}; vector<int> b(a+1,a+4); //b[0]=a[1],b[1]=a[2],b[2]=a[3] 构造形式: vector<int> e; //e为空vector vector<int&g...

w754141674的博客 442

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C++ STL容器 —— vector 用法详解

C++ STL容器—— vector 函数用法详解 写在前面:近期正在重新学习C++的STL容器,因此准备用一些大白话将STL函数的用法详细记录一下,主要介绍一些基本函数的用法, 外加实际的例子,并不涉及原理。其实最好的方法还是需要自己上手操作一下. 写的不好, 请大神手下留情. 下面说的 “运行之后” 表示: 运行上个语句之后的结果. 一行如果说的太长的话, 就得拖动下面的进度条才能看到后面...

Ember_Sky 1507

C++ STL vector基本原理和用法

vector是C++ STL中非常常用的一个容器类,它提供了动态大小的数组功能,能够自动管理所存储元素的内存分配与释放,并且支持快速的随机访问。简单来说,你可以把它看作是一种可以根据需要自动扩容和缩容的数组,使用起来比普通的C风格数组更加方便、安全和灵活,广泛应用于各种需要存储和操作一组同类型元素的场景中。基本定义定义一个vector对象的语法形式通常为std::vector 变量名;,这里的“元素类型”可以是C++中的各种基本数据类型(如intdoublechar。

doubleintfloat的博客 1219

【C++STL】vector用法讲解

例如,允许把一个vector对象的元素拷贝给另外一个vector 对象。此时,新vector 对象的元素就是原 vector对象对应元素的副本。

2301_80224556的博客 1194

C++ STL中VECTOR常见用法归纳总结

C++ STL中VECTOR常见用法归纳总结

lxndy的博客 1953

C++-STL:vector用法总结

目录 一、简介 二、用法 1. 头文件 2. vector的声明及初始化 3. vector基本操作 1)容量相关 2)修改元素 3)使用迭代器 4)访问元素 4. 常用操作 ...

weixin_33884611的博客 213

【C++】STL---vector基本用法介绍

详细介绍了STL-vector中的基本用法。

m0_74352571的博客 2412
上一篇: Python3 字典用法总结(一)
下一篇: C++智能指针详解(C++11)
Hacker_Free
博客等级 码龄9年 4粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值