string类
string - C++ Reference (cplusplus.com)
引入:
ASCII码表------>Unicode

其中又进行了分类:

(UTF--8兼容ASCII码表)

等等等等

(不但迭代和更新)
例:

目录
正文开始!!!!!
string类常用的接口
常见构造
容量操作
reserve和resize:
三种访问string的方式:(访问string里的每一个)
insert与erase
replace与find:
swap:
substr:
find_first_of与find_first_not_of与find_last_of
getline
reverse
正文开始!!!!!
string类常用的接口
常见构造

例:


(起初有的是length,后来为了和其他保持一致才用了size)
例:

(15没有包括/0,实际上是16个字符)

容量操作
例:

更好的选择:

尾插用append,其他插入(包括头插可以用)

reserve和resize:

(reverse减少扩容,提高效率)
缺省值填的是‘0’

如果想改缺省值,

总结一下reserve和resize吧!

扩容如果有足够的空间可以原地扩容,但缩容不能原地缩(一般为开辟新的空间)
迭代器:(左闭右开)

(end为最后一个的下一个)
三种访问string的方式:(访问string里的每一个)
1.下标+方括号
2.迭代器
3.范围for(范围for的底层是迭代器)

(两种迭代器:)
这里介绍一种反向遍历的方法。

例:

同时注意:
如果函数调用的对象为const,返回的一定得是const迭代器,要不然就会报错。
例:(普通迭代器和const迭代器的区别)


insert与erase
insert:

例:

但是并不推荐使用insert,为什么呢?(联系数据结构,都存在挪动数据,效率低下)
erase:


replace与find:
find:
例:

结果为:
如果想把空格都替换掉呢?加个循环不就好了!


把程序改进一下:
(效率提升了一点!)
但其实:(以空间换时间)

一步开到位会省下很多扩容!!!!!(reserve(不用resize,因为不用在扩容的同时初始化))
swap:

那这里的swap与库里有的函数swap有什么区别呢?
例:


哪一个更高效呢?
当然是string里的swap啦!相当于是改变了指针指向的位置。
库里的swap要用到深拷贝
c_str:

例:

c_str是会按照字符串去打印的(是以\0为终止的)
substr:

例:

find_first_of与find_first_not_of与find_last_of
找到括号里字符串中的任何一个字母都会停下来。
例:


(注意这个只能用于字符的替换修改,对于字符串来说,还得用find)

find_first_of与find_last_of都是找任一个,只不过一个是顺着找的,一个是倒着找的。
getline

例:getline(cin,str);
reverse

注意凡是迭代器都是左闭右开!
相关文章:
string类
string - C Reference (cplusplus.com) 引入: ASCII码表------>Unicode 其中又进行了分类: (UTF--8兼容ASCII码表) 等等等等 (不但迭代和更新) 例: 目录 正文开始!࿰…...
LLM总结(持续更新中)
引言 当前LLM模型火出天际,但是做事还是需要脚踏实地。此文只是日常学习LLM,顺手整理所得。本篇博文更多侧重对话、问答类LLM上,其他方向(代码生成)这里暂不涉及,可以去看综述来了解。 之前LLM模型梳理 …...
【GPT4】微软 GPT-4 测试报告(2)多模态与跨学科的组合
欢迎关注【youcans的AGI学习笔记】原创作品,火热更新中 微软 GPT-4 测试报告(1)总体介绍 微软 GPT-4 测试报告(2)多模态与跨学科能力 微软 GPT-4 测试报告(3)编程能力 微软 GPT-4 测试报告&…...
Celery使用教程完整版【从安装到启用】
Celery是一个基于Python开发的异步任务队列,可以实现任务的异步调度和处理。 以下是Celery使用教程的基本步骤: 安装Celery库 使用pip命令安装Celery库: pip install celery 创建Celery实例 在项目的Python文件中创建Celery实例&#x…...
【Java技术指南】「JPA编程专题」让你不再对JPA技术中的“持久化型注解”感到陌生了
JPA编程专题 JPA的介绍JPA的介绍分析JPA注解总览JPA实体型注解EntityTableTableGeneratorTableGenerator 属性 Temporal TransientColumnColumn 属性ColumnUniqueConstraint属性状态 VersionVersion Embeddable 和 EmbeddedEmbedded EmbeddedIdMappedSuperclassEntityListeners…...
Java基础:IO流有哪些,各有什么特点和功能
具体操作分成面向字节(Byte)和面向字符(Character)两种方式。 如下图所示: IO流的三种分类方式 IO流的层次结构 IO流的常用基类有: 字节流的抽象基类:InputStream和OutputStream; 字符流的抽象基类:Reader和Writer…...
MySQL、PostgreSQL、Oracle、SQL Server数据库触发器实现同步数据
数据库触发器是一种在数据库中设置的程序,当满足某些特定条件时,它会自动执行。触发器通常与数据表的操作(例如插入、更新和删除)相关联,它们可以帮助保证数据的完整性和一致性。在本篇博客中,我将介绍各种…...
因为我没交周报,leader要罚款200元,怎么给他挖坑?能以敲诈勒索罪告他吗?...
没交周报就罚款,这种事你们遇到过吗? 一位网友说:leader在群里通知不交周报就罚款,这周罚到他头上,要罚款200元,这种情况怎么办?能定他一个敲诈勒索罪或者抢劫罪吗?最差也要在离职后…...
java跨域问题
什么是跨域? 跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com页面去请求www.google.com的资源。但是一般情况下不能这么做,他是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制。 跨域的严格定义是&…...
故障重现, JAVA进程内存不够时突然挂掉模拟
背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize # This output file may be truncated or incomplete. # # Out of Memory Error (os_linux.cpp:26…...
数画-AI绘画-免费的人工智能AI绘画网站
文章目录 AIGC什么是AI作画?Prompt数画AIGC的未来发展结语 AIGC AIGC(AI Generated Content)是指利用人工智能生成内容。是利用人工智能来生成你所需要的内容,GC的意思是创作内容。与之相对应的概念中,比较熟知的还有P…...
ElasticSearch安装、启动、操作及概念简介
ElasticSearch快速入门 文件链接:https://pan.baidu.com/s/15kJtcHY-RAY3wzpJZIn4-w?pwd0k5a 提取码:0k5a 有些软件对于安装路径有一定的要求,例如:路径中不能有空格,不能有中文,不能有特殊符号…...
Linux用户管理
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 前言 努力是最好的捷径! 目录 1.Linux基于用户身份对…...
Docker 的安装和镜像容器的基本操作
文章目录 一、Docker 概述1、Docker的概念2、容器的优点3、容器与虚拟机的区别4、容器在内核中支持2种重要技术5、Docker核心概念 二、Docker的安装1、docker的安装步骤2、实例操作:安装docker 三、Docker 镜像操作1、搜索镜像2、获取镜像3、镜像加速下载4、查看镜像…...
被盗的ChatGPT账户在暗网热销,ChatGPT的隐私和安全问题依旧值得关注
在过去的一个月,Check Point研究人员在暗网上观察到了与ChatGPT相关的各种讨论和交易。暗网上最新的活动包括泄露和免费发布ChatGPT账户的凭据,以及交易被盗的ChatGPT账户。 根据Check Point进行的一项研究,从今年3月以来,被盗的…...
OpenCV2 计算机视觉应用编程秘籍:6~10
原文:OpenCV2 Computer Vision Application Programming Cookbook 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线…...
如何对农田温室气体进行有效模拟?
农业是甲烷(CH4)、氧化亚氮(N2O)和二氧化碳(CO2)等温室气体的主要排放源,占全产业排放的13.5%。农田温室气体又以施肥产生的N2O和稻田生产产生的CH4为主,如何对农田温室气体进行有效…...
java数据结构刷题练习
class Solution {public boolean containsDuplicate(int[] nums) {Arrays.sort(nums);for(int i1;i<nums.length;i){if(nums[i-1]nums[i])return true;}return false; } }作者:affectionate-albattani7tn 链接:https://leetcode.cn/problems/contains…...
《商用密码应用与安全性评估》第一章密码基础知识1.6密钥交换协议
密码协议是指两个或者两个以上参与者使用密码算法时,为了达到加密保护或安全认证目的而约定的交互规则。 密钥交换协议 公钥密码出现之前,密钥交换很不方便,公钥密码可以在不安全信道上进行交换,交换的密码协议是为了协商会话密钥…...
Qt Quick - TabBar
Qt Quick - TabBar使用总结 一、概述二、调整选项卡三、Flickable标签三、定制化 一、概述 TabBar其实就是选项卡,TabBar是由TabButton控件填充,TabBar可以与任何提供currentIndex属性的布局或容器控件一起使用,如StackLayout或SwipeView。T…...
DIY USB-C扩展坞:从引脚连接到3D打印,打造开发板专属工作站
1. 项目概述与核心价值如果你和我一样,桌上常年堆着各种开发板,从Arduino Uno到最新的ESP32-S3,每次想插拔USB线调试或者充电,都得在一堆线缆里翻找,板子还容易滑来滑去,那这个项目就是为你准备的。今天我们…...
【开源】基于 ASP.NET Core Blazor Server 10.0 构建的学生信息查询系统
学生查询系统基于 ASP.NET Core Blazor Server 10.0 构建的学生信息查询系统,使用 Excel 文件作为数据源,支持动态列适配和响应式布局。功能特性灵活查询:支持按姓名、学号进行模糊查询,可单独或组合使用动态列适配:不…...
本地部署Qwen大模型:从量化加载到性能优化的完整实践指南
1. 项目概述:从开源大模型到个人AI助手的跃迁最近在折腾本地部署大语言模型,发现了一个宝藏项目——QwenLM/Qwen。这可不是一个简单的模型仓库,而是一个由通义千问团队打造的开源大语言模型家族。简单来说,它让你能在自己的电脑或…...
Node js 后端服务如何优雅集成 Taotoken 提供的多模型能力
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 Node.js 后端服务如何优雅集成 Taotoken 提供的多模型能力 应用场景类,描述一个 Node.js 后端服务需要动态选择不同大模…...
霍夫曼编码:让计算机学会“断舍离“的无损压缩原理,为什么Zip文件能完美还原,而JPEG会失真?霍夫曼用一棵二叉树解决了50年的压缩难题
霍夫曼编码:让计算机学会"断舍离"的无损压缩原理 副标题: 为什么Zip文件能完美还原,而JPEG会失真?霍夫曼用一棵二叉树解决了50年的压缩难题痛点:为什么压缩文件能完美还原? 你用WinRAR压缩了一个Word文档&am…...
【LangChain实战】无缝切换:将项目中的OpenAI LLM替换为本地或第三方API模型
1. 为什么需要替换OpenAI LLM? 最近两年大语言模型(LLM)发展迅猛,但很多项目一上来就直接用OpenAI API,这其实存在不少隐患。我在实际项目中就遇到过几个典型问题:首先是API调用不稳定,特别是国…...
3分钟搞定Windows安卓应用:APK安装器让你的电脑秒变安卓设备!
3分钟搞定Windows安卓应用:APK安装器让你的电脑秒变安卓设备! 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你知道吗?现在无需安装…...
AI Agent Skill 从入门到精通:定义、结构、调用链路与底层原理
一篇帮你从"知道 Skill 这个词"到"能独立设计生产级 Skill"的系统教学,含 3 个完整实战案例。阅读提示适合谁看:正在做或准备做 AI Agent 开发的工程师,尤其是从传统后端 / 数据仓库转过来的同学看完能做什么:…...
MKS Robin Nano Marlin 2.0固件架构解析与性能调优指南
MKS Robin Nano Marlin 2.0固件架构解析与性能调优指南 【免费下载链接】Mks-Robin-Nano-Marlin2.0-Firmware The firmware of Mks Robin Nano, based on Marlin-2.0.x, adding the color GUI. 项目地址: https://gitcode.com/gh_mirrors/mk/Mks-Robin-Nano-Marlin2.0-Firmwa…...
如何快速解决多设备滚动冲突:Scroll Reverser终极配置指南
如何快速解决多设备滚动冲突:Scroll Reverser终极配置指南 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否曾经在Mac上同时使用触控板和鼠标时,被混…...
