(STL之string)string类的用法详解
string类成员函数PART1
成员函数(构造函数+拷贝构造函数):string
- 函数原型:
string();
string (const string& str);
string (const string& str, size_t pos, size_t len = npos);
string (const char* s);
string (const char* s, size_t n);
string (size_t n, char c);
template <class InputIterator>
string (InputIterator first, InputIterator last);
- 函数功能(通俗):创建string类实例化对象时一语双关调用的构造函数
- 函数简介(文档):
成员函数(析构函数):~string
- 函数原型:
~string();
- 函数功能(通俗):完成string类实例化对象即将销毁前的资源清理工作
- 函数简介(文档):
成员函数(赋值运算符重载):operator =
- 函数原型:
string& operator= (const string& str);
string& operator= (const char* s);
string& operator= (char c);
- 函数功能(通俗):对已有的string类实例化对象用其他已有的string类实例化对象进行赋值
- 函数简介(文档):
string类成员函数PART2
成员函数:begin
- 函数原型:
iterator begin();
const_iterator begin() const;
- 函数功能(通俗):返回指向string类实例化对象中的字符串其第一个字符的迭代器
- 函数简介(文档):
成员函数:end
- 函数原型:
iterator end();
const_iterator end() const;
- 函数功能(通俗):返回指向string类实例化对象中的字符串其终止符’\0’的迭代器
- 函数简介(文档):
成员函数:rbegin
- 函数原型:
reverse_iterator rbegin();
const_reverse_iterator rbegin() const;
- 函数功能(通俗):返回指向string类实例化对象中的字符串其最后一个字符(非’\0’)的迭代器
- 函数简介(文档):
成员函数:rend
- 函数原型:
reverse_iterator rend();
const_reverse_iterator rend() const;
- 函数功能(通俗):返回指向string类实例化对象中的字符串其第一个字符再前面一个字节的迭代器
- 函数简介(文档):
string类成员函数PART3
成员函数:size
- 函数原型:
size_t size() const;
- 函数功能(通俗):返回string类实例化对象的size
- 函数简介(文档):
成员函数:capacity
- 函数原型:
size_t capacity() const;
- 函数功能(通俗):返回string类实例化对象的capacity
- 函数简介(文档):
成员函数:resize
- 函数原型:
void resize (size_t n);
void resize (size_t n, char c);
- 函数功能(通俗):增加string类实例化对象的capacity,扩容后并且进行初始化填值(可以自己指定,默认为’\0’),实例化对象的size也会相应增加(因为进行了初始化填值)
- 函数简介(文档):
成员函数:reserve
- 函数原型:
void reserve (size_t n = 0);
- 函数功能(通俗):增加string类实例化对象的capacity,扩容后并不进行初始化填值,即实例化对象的size不变
- 函数简介(文档):
成员函数:clear
- 函数原型:
void clear();
- 函数功能(通俗):清空string类实例化对象中的内容,即size变为0,但capacity不变
- 函数简介(文档):
成员函数:empty
- 函数原型:
bool empty() const;
- 函数功能(通俗):判断string类实例化对象是否为空(size是否为0)
- 函数简介(文档):
string类成员函数PART4
成员函数:operator[ ]
- 函数原型:
char& operator[] (size_t pos);
const char& operator[] (size_t pos) const;
- 函数功能(通俗):把string类实例化对象中的内容当成一个字符数组来看,数组里面的[ ]非常熟悉
- 函数简介(文档):
string类成员函数PART5
成员函数:operator+=
- 函数原型:
string& operator+= (const string& str);
string& operator+= (const char* s);
string& operator+= (char c);
- 函数功能(通俗):对string类实例化对象中的字符串内容进行尾部追加新内容
- 函数简介(文档):
成员函数:append
- 函数原型:
string& append (const string& str);
string& append (const string& str, size_t subpos, size_t sublen);
string& append (const char* s);
string& append (const char* s, size_t n);
string& append (size_t n, char c);
template <class InputIterator>
string& append (InputIterator first, InputIterator last);
- 函数功能(通俗):对string类实例化对象中的字符串内容进行尾部追加新内容
- 函数简介(文档):
成员函数:push_back
- 函数原型:
void push_back (char c);
- 函数功能(通俗):对string类实例化对象中的字符串内容进行尾部追加新字符
- 函数简介(文档):
成员函数:assign
- 函数原型:
string& assign (const string& str);
string& assign (const string& str, size_t subpos, size_t sublen);
string& assign (const char* s);
string& assign (const char* s, size_t n);
string& assign (size_t n, char c);
template <class InputIterator>
string& assign (InputIterator first, InputIterator last);
- 函数功能(通俗):清空string类实例化对象中的字符串内容,并且重新填入新字符串
- 函数简介(文档):
成员函数:insert
- 函数原型:
string& insert (size_t pos, const string& str);
string& insert (size_t pos, const string& str, size_t subpos, size_t sublen);
string& insert (size_t pos, const char* s);
string& insert (size_t pos, const char* s, size_t n);
string& insert (size_t pos, size_t n, char c);
void insert (iterator p, size_t n, char c);
iterator insert (iterator p, char c);
template <class InputIterator>
void insert (iterator p, InputIterator first, InputIterator last);
- 函数功能(通俗):在string类实例化对象中的字符串内容非尾部插入指定新字符串内容(其’\0’不作为实体插入字符)
- 函数简介(文档):
成员函数:erase
- 函数原型:
string& erase (size_t pos = 0, size_t len = npos);
iterator erase (iterator p);
iterator erase (iterator first, iterator last);
- 函数功能(通俗):对string类实例化对象中的字符串中某些字符进行删除
- 函数简介(文档):
特殊原因:成员函数replace 和 swap 这边暂时不做介绍
string类成员函数PART6
成员函数:c_str
- 函数原型:
const char* c_str() const;
- 函数功能(通俗):提取string类实例化对象中的字符串(返回堆区字符串数据的起始指针)
- 函数简介(文档):
成员函数:find
- 函数原型:
size_t find (const string& str, size_t pos = 0) const;
size_t find (const char* s, size_t pos = 0) const;
size_t find (const char* s, size_t pos, size_t n) const;
size_t find (char c, size_t pos = 0) const;
- 函数功能(通俗):从string类实例化对象中的字符串指定位置向后去查找特定字串第一次出现的下标位置并返回(注意:无论怎样,原串与字串匹配都是从前往后依次字符比对匹配的)
- 函数简介(文档):
成员函数:rfind
- 函数原型:
size_t rfind (const string& str, size_t pos = npos) const;
size_t rfind (const char* s, size_t pos = npos) const;
size_t rfind (const char* s, size_t pos, size_t n) const;
size_t rfind (char c, size_t pos = npos) const;
- 函数功能(通俗):从string类实例化对象中的字符串指定位置向前去查找特定字串第一次出现的下标位置并返回(注意:无论怎样,原串与字串匹配都是从前往后依次字符比对匹配的)
- 函数简介(文档):
成员函数:find_first_of
- 函数原型:
size_t find_first_of (const string& str, size_t pos = 0) const;
size_t find_first_of (const char* s, size_t pos = 0) const;
size_t find_first_of (const char* s, size_t pos, size_t n) const;
size_t find_first_of (char c, size_t pos = 0) const;
- 函数功能(通俗):从string类实例化对象中的字符串指定位置向后去查找指定字符串内任意一个字符第一次出现的下标位置并返回
- 函数简介(文档):
成员函数:find_last_of
- 函数原型:
size_t find_last_of (const string& str, size_t pos = npos) const;
size_t find_last_of (const char* s, size_t pos = npos) const;
size_t find_last_of (const char* s, size_t pos, size_t n) const;
size_t find_last_of (char c, size_t pos = npos) const;
- 函数功能(通俗):从string类实例化对象中的字符串指定位置向前去查找指定字符串内任意一个字符第一次出现的下标位置并返回
- 函数简介(文档):
成员函数:substr
- 函数原型:
string substr (size_t pos = 0, size_t len = npos) const;
- 函数功能(通俗):创建一个新的string类实例化对象并用当前string类实例化对象的指定位置加上后面共len个字符进行构造初始化,并返回该新string实例化对象
- 函数简介(文档):
非成员函数
相关文章:

(STL之string)string类的用法详解
string类成员函数PART1 成员函数(构造函数拷贝构造函数):string 函数原型: string(); string (const string& str); string (const string& str, size_t pos, size_t len npos); string (const char* s); string (const char* s, size_t n)…...

基于RT-Thread快速上手SD NAND 虚拟文件系统
SD NAND 也称之为贴片式TF卡,贴片式SD卡,采用标准的SDIO接口,兼容SPI接口。下图所示为CS 新一代CS SD NAND NP1GCR01-AOW 大小为128M,对比128M的SD卡,可以看到贴片SD卡尺寸更小,不要SD卡座,占…...
性能测试实战
目录 一、创建线程组与http(s)请求1、JMeter关键词2、创建线程组3、线程组参数举例说明案例1:模拟5个用户,同时访问百度案例2:模拟5个用户,同时访问百度,并且循环2次案例3:模拟5个线程,持续执行10秒的时间案例4:模拟10秒启动10个线程,循环执行20秒4、创建http请求a、操…...

【PWN · 总结】system返回shell(‘/bin/sh‘、‘sh‘、$(0))
pwn题中要通过system/excute等返回shell,进而cat flag。今天遇到一题,参数$(0)也可返回,有必要记录一下。 目录 前言 一、/bin/sh 1.strings 2.IDA 3.pwntools 4.ROPgadget 5.libc中寻找 二、sh 三、$(0) exp IDA查看机器码 …...
《庄子》笔记
庄子 前述:庄子,战国时宋国人。 1.鲲鹏:胸襟宽广,高远,无界限。 2.寒蝉和灵龟:小年的悲哀。 3.小麻雀的得意:境界不同,又有什么可比性呢。 4.列子随风而行:得大道者&…...
五、VBO、EBO 和 VAO
五、VBO、EBO 和 VAO VBO、EBO 和 VAO: VBO(Vertex Buffer Object)是指顶点缓冲区对象,而 EBO(Element Buffer Object)是指图元索引缓冲区对象,VAO 是顶点数据的缓冲区对象,VAO 和…...

数据库期末复习(7.2)查询优化
查询优化的概述 商用数据库花了很多的资金投入到查询优化。 查询优化的分类 逻辑查询优化 物理查询优化 比逻辑查询计划多了怎么去执行的方式,为的是数据操作速度更快 逻辑查询优化的三种关键技术 在科学研究的道路上我们往往不是一帆风顺的,人的认识也是局限的,但是我…...

深入探索:在std::thread中创建并管理QEventLoop的全面指南
深入探索:在std::thread中创建并管理QEventLoop的全面指南 1. 前言:理解QEventLoop和std::thread的基本概念1.1 QEventLoop的基本概念和工作原理1.2 std::thread的基本概念和工作原理1.3 QTimer的基本概念和工作原理 2. 在std::thread中创建QEventLoop&a…...

【Netty】Netty中的超时处理与心跳机制(十九)
文章目录 前言一、超时监测二、IdleStateHandler类三、ReadTimeoutHandler类四、WriteTimeoutHandler类五、实现心跳机制5.1. 定义心跳处理器5.2. 定义 ChannelInitializer5.3. 编写服务器5.4. 测试 结语 前言 回顾Netty系列文章: Netty 概述(一&#…...

尚硅谷大数据hadoop教程_mapReduce
p67 课程介绍 p68概述 p69 mapreduce核心思想 p70 wordcount源码 序列化类型 mapReduce三类进程 p71 编程规范 用户编写的程序分成三个部分:Mapper、Reducer和Driver。 P72 wordcount需求案例分析 p 73 -78 案例环境准备 (1)创建maven…...
一键启停脚本
在/root 目录下创建bin文件夹再创建你的文件 文件里面写如下命令 #!/bin/bash if [ $# -lt 1 ] then echo "No Args Input..." exit ; fi case $1 in "start") echo " 启动集群 " echo " --------------- 启动 -------…...
20230604_Hadoop命令操作练习
20230604_Hadoop命令操作示例 再HDFS中创建文件夹:/itcast/it heima,如存在请删除(跳过回收站)。 hdfs dfs -mkdir -p /itcast/itheima上传/etc/hosts文件到hdfs的/itcast/itheima内。 hadoop fs -put /etc/hosts /itcast/itheima…...
hashCode 与 equals(重要)?
hashCode () 作用是获取哈希码,也称为散列码,实际上是返回一个int 整数,哈希码作用是确定该对象在哈希表中的索引位置;hashCode() 定义在JDK的Object.java中,意味着Java中的任何类都包含有hashCode() 函数。 散列表存…...
华为OD机试(2023.5新题) 需要打开多少监控器(java,py,c++,js)
华为OD机试真题目录:真题目录 本文章提供java、python、c++、jsNode四种代码 题目描述 某长方形停车场,每个车位上方都有对应监控器,当且仅当在当前车位或者前后左右四个方向任意一个车位范围停车时,监控器才需要打开 给出某一时刻停车场的停车分布,请统计最少需要打开…...
209.长度最小的子数组
2023.6.1 这道题的关键是滑动窗口法,滑动窗口法应设定好窗口左侧的右移条件与窗口右侧的移动条件 本例中先初始化好用到的各种值 循环的终止条件是滑动窗口右侧超出列表的范围 走来 cur_sum nums[right] 是将cur_sum的值更新为当前滑动窗口[left,right]的值之和 接…...

react antd Modal里Form设置值不起作用
问题描述: react antd Modal里Form设置值不起作用,即使用form的api。比如:编辑时带出原有的值。 造成的原因:一般设置值都是在声明周期里设置,比如:componentDidMounted里设置,hook则在useEff…...

idea连接Linux服务器
一、 介绍 配置idea的ssh会话和sftp可以实现对linux远程服务器的访问和文件上传下载,是替代Xshell的理想方式。这样我们就能在idea里面编写文件并轻松的将文件上传到linux服务器中。而且还能远程编辑linux服务器上的文件。掌握并熟练使用,能够大大提高我…...

在windows环境下使用winsw将jar包注册为服务(实现开机自启和配置日志输出模式)
前言 Windows系统使用java -jar m命令行运行Java项目会弹出黑窗。首先容易误点导致程序关闭,其次我们希望能在Windows系统做到开机自动启动。因此对于SpringBoot程序,目前主流的方法是采用winsw,简单容易配置 1.下载winsw工具 https://git…...
汽车通用款一键启动舒适进入拓展蓝牙4G网络手机控车系统
1.PKE无钥匙舒适进入功能,靠近车门自动开锁,离开车门自动上锁 2.一键启动/熄火 3.远程遥控启动/熄火 4.遥控设防盗/解除防盗 5.遥控开后尾箱锁负信号输出(需要原车自带尾箱马达和继电器) 6.静音防盗/解除防盗 7.启动车后踩脚刹自动上锁 8.熄火车辆后自动开锁…...

QSettings Class
QSettings类 QSettings类公共类型(枚举)公有成员函数静态成员函数函数作用这个类写文件的特征 QSettings类 QSettings类提供持久的独立于平台的应用程序设置。 头文件:#include< QSettings >qmake:QT core继承(父):QObje…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...

Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...

C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...

C# winform教程(二)----checkbox
一、作用 提供一个用户选择或者不选的状态,这是一个可以多选的控件。 二、属性 其实功能大差不差,除了特殊的几个外,与button基本相同,所有说几个独有的 checkbox属性 名称内容含义appearance控件外观可以变成按钮形状checkali…...

Axure零基础跟我学:展开与收回
亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习Axure交互设计课程! Axure产品经理精品视频课https://edu.csdn.net/course/detail/40420 课程主题:Axure菜单展开与收回 课程视频:...