SYSU程设c++(第十五周)

news/2025/2/10 8:43:36/

vector容器

1.要开vector库

        

2.vector<T> 是动态的连续数组,可以列表初始化

        

          vector<int> ivec(10, 2); //创建10个值为2的元素

3.可以靠[ ]、at(int)、front、back、迭代器访问其中元素,其中at会自动检查下标越界,抛出异常

  

 

4.迭代器

vector<int>::iterator iter; // 声明正向迭代器对象(+1向右)

vector<int>::reverse_iterator riter; // 声明反向迭代器对象(+1向左)

begin()指向首位,end指向末位后一个位置,rbegin()指向末位(对反向来说是首位),rend指向首位前一个位置(对反向来说是末位后一个)

 

auto和decltype

灵活使用 auto 和 decltype 可以减少程序对模板实参的依赖,提升程序通用性和可读性

例如 auto iter=ivec.begin()  或 decltype(ivec.begin()) iter;(声明从表达式推导得到的类型)

用迭代器遍历元素

 5.元素插入

        c.insert(iter, t) 在iter所指之前插入元素t

        c.insert(iter, n, t) 在iter所指之前插入n个元素t

        c.push_back(t) 在尾端插入元素t

        c.push_front(t) 在首端插入元素t

6.元素删除

        c.clear() 删除所有

        c.erase(iter) 删除某位,并返回下一位常迭代器

        c.erase(b, e) 删除b~e的前一位,并返回下一位(e)常迭代器

        c.pop_back() 删除末位

        c.pop_front() 删除首位

7.容量操作

        c.empty() 若为空,返回true,否则false

        c.size() 返回元素个数

        c.resize(n) 将容器大小调为可放n个,多退少补

        c.resize(n, t) 补的话新增元素取值为t,其余效果相同

8.赋值和交换

        c1 = c2

        c.assign(n, t) 先删除c中所有,然后在c中存放n个值为t的元素

        c1.swap(c2)


http://www.ppmy.cn/news/280672.html

相关文章

YUM报错No module named yum处理

一、问题描述 某次GreenPlum集群部署过程中&#xff0c;现场人员反馈&#xff0c;yum命令无法使用了&#xff0c;执行报错&#xff1a;No module named yum&#xff0c;如下所示&#xff1a; 相关资料&#xff1a;YUM 二、问题分析处理 2.1 YUM的本质 yum命令本质上是属于py…

接口测试 —— 接口测试的意义

1、接口测试的意义&#xff08;优势&#xff09; &#xff08;1&#xff09;更早的发现问题&#xff1a; 不少的测试资料中强调&#xff0c;测试应该更早的介入到项目开发中&#xff0c;因为越早的发现bug&#xff0c;修复的成本越低。 然而功能测试必须要等到系统提供可测试…

Docker超详细基础使用(带图)

目录 安装ubuntu 基本使用命令 docker run 容器名 延伸命令 启动ubuntu 查看所有正在运行的容器 指定容器别名启动 doker ps 延伸命令 退出容器 重新进入正在运行的容器 启动容器 删除已停止的容器 强制删除容器 查看容器日志 查看容器内部运行的进程 ​编辑 查看容…

[游戏代码] L4D求生之路部分代码用法

获取开火的武器代码 public Action Event_WeaponFire(Event event, const char[] name, bool dontBroadcast) {char sWeapon[32];GetEdictClassname(GetPlayerWeaponSlot(client, 0), sWeapon, 32);PrintToChatAll("武器代码:%s ,sWeapon); }

[游戏代码]求生之路:ent_fire用法

ent_fire <classname or targetname> <input name> <optional parameter> <optional delay> <classname or targetname> !self //只对自己工作 !picker //通过瞄准选择的玩家 player //该服务器上的所有玩家地图事件调用方法: 例子解释(地图编辑…

[游戏代码]求生之路插件:人物获得武器

#include <sourcemod> #include <sdktools> #pragma semicolon 1public Plugin:myinfo {name "[紫冰] 武器给予",author "紫冰",description "输入指令获得武器",version "1.0",url "https://blog.csdn.net/Z…

求生之路2升级补丁及完整版下载

各低版本升级包&#xff1a;&#xff08;按自己版本情况选择下载&#xff09; 资源免责申明&#xff1a;本人提供的所有资源&#xff0c;均为互联网收集转载&#xff01;请在下载24小时内删除&#xff01;为尊重版权&#xff0c;谢谢&#xff01; 各低版本升级包&#xff1a;&a…

求生之路2linux服务器,《求生之路2》正式开放Linux版

开发商Valve已经完成了在Linux系统上的完成了对Steampipe系统的支持和EMS系统(传说中很牛叉的进阶突变系统&#xff0c;存在于突变模式中)的研发与测试。 所谓的Steampipe系统&#xff0c;就是能给予开发者在内容存储服务器上的编码分支和管理测试访问权的灵活性。以及代码也变…