【C++初阶】string类各部分的使用介绍

news2024/9/22 21:15:42

文章目录

  • 1.为什么学string类?
  • 2. 标准库中的string类
    • string类的介绍
    • string类常用的接口说明
      • a.常见的构造
      • b.string类对象的常用容量操作
      • c.string类对象的访问及遍历操作
      • d.string类对象的修改操作

1.为什么学string类?

C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想(面向对象思想),而且底层空间需要用户自己管理,稍不留神可能还会越界访问。

2. 标准库中的string类

string类的介绍

在这里插入图片描述

string类常用的接口说明

a.常见的构造

在这里插入图片描述
其中(1)(2)(4)为常用的构造,那么如何使用呢?
接下来我来教大家
在这里插入图片描述
在这里插入图片描述

b.string类对象的常用容量操作

size
在这里插入图片描述
在这里插入图片描述
empty
在这里插入图片描述
在这里插入图片描述
clear
在这里插入图片描述

在这里插入图片描述
capacity
在这里插入图片描述
在这里插入图片描述
reserve
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
注意这里并不是输入多少就改变到多少,而是编译器有自己的一套改变规则,所以只是保证一定比你输入的大,而不是你输入多少就改变到多少

resize
在这里插入图片描述

使用方式一:
在这里插入图片描述
在这里插入图片描述
使用方式二:
在这里插入图片描述
在这里插入图片描述

c.string类对象的访问及遍历操作

方式一:
在这里插入图片描述
在这里插入图片描述

方式二:
在这里插入图片描述

在这里插入图片描述
方式三:
在这里插入图片描述
在这里插入图片描述
方向迭代器的原理和使用方法和正向迭代器一样
方式四:范围for
在这里插入图片描述
在这里插入图片描述

d.string类对象的修改操作

push_back
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
operator+=
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
c_str
在这里插入图片描述
find+nops
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从上面的使用可以看出pos可填可不填,不填会默认给0,填了按你填的位置开始找
rfind
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
从上面的使用可以看出pos可填可不填,不填会默认给nops(无符号的-1),填了按你填的位置开始找
substr
在这里插入图片描述
返回从指定的初始位置开始到指定的长度的结束的字符串大小,返回类型为string
在这里插入图片描述
在这里插入图片描述
erase
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
getline
在这里插入图片描述
顾名思义就是从流里面获取一行字符串直到遇到‘\n’。在这里就不具体的使用了大家可以自己去试一试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/98859.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕设Python+Vue休闲网络宾馆管理(程序+LW+部署)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【图像分割】基于matlab Kmean聚类分水岭、oust、粒子群算法优化脂肪肝图像分割【含Matlab源码 2277期】

⛄一、粒子群算法自适应多阈值图像分割简介 FCM聚类算法是一种局部搜索算法,对初始值较为敏感,容易陷入局部极小值而不能得到全局最优解。PSO算法是一种基于群体的具有全局寻优能力的优化方法。本文将FCM聚类算法和PSO算法结合起来,将FCM聚类算法的聚类准则函数作为PSO算法中的…

MySQL简介与安装

文章目录MySQL简介与安装一、数据库相关概念二、MySQL数据库1. 版本2. 下载3. 安装1). 双击官方下载的安装包文件2). 根据安装提示进行安装3). 配置MySQL环境4. 启动停止5. 客户端连接6. 数据模型MySQL简介与安装 本文主要介绍数据库的相关概念、以及在Windows下安装MySQL 8.0…

matplotlib绘图详解

文章目录matplotlib绘图详解一、 基础准备1、 matplotlib简介2、 环境准备2.1 安装2.2 参考文档3、 图表结构4、 常用图表二、绘图步骤1、 常用图表1.1 散点图1.2 柱状图1.3 饼图1.4 折线图2、 多图绘制2.1 subplot2.2 subplots3、 绘图配置3.1常用配置3.1.1 网格线3.1.2 标题和…

【问答篇】Java 基础篇 面试题(二)

每天进步一点~ 01、问:PreparedStatement与Statement的区别? 答: PreparedStatement是预编译语句执行者,数据库对sql语句进行预编译;Statement是执行时对sql语句进行编译 Statement存在sql注入的问题,Prep…

非零基础自学Golang 第10章 错误处理 10.3 Go语言宕机 10.4 宕机恢复

非零基础自学Golang 文章目录非零基础自学Golang第10章 错误处理10.3 Go语言宕机10.4 宕机恢复10.4.1 recover捕获宕机10.4.2 recover应用第10章 错误处理 10.3 Go语言宕机 一般而言,只有当程序发生不可逆的错误时,才会使用panic方法来触发宕机。 pan…

云计算运营—02FusionSphere 6.5 服务器虚拟化运营

FusionSphere 6.5 服务器虚拟化运营 1、虚拟化 特性介绍 云操作系统架构 Tool/PV driver(虚拟机驱动) Tools是虚拟机的驱动程序。 安装并启动Tools后,用户无需做任何操作,Tools即可提供以下功能: 1、为虚拟机提供高性能的磁盘I/0和网络I/0功能 2、为…

Element-plus的通用使用方法

Element-plus的通用使用方法说明一、组件属性的使用二、组件内部事件的使用三、组件插槽的使用四、组件外部方法的使用1、使用外部方法是要调用标签的$refs2.使用方法完说明 本教程适用于Element-plus的使用非常熟练本教程是对Element-plus的高度总结组件属性的使用组件插槽的…

中国自然地理分区数据集 (含农业区划、森林工程、生态保护区、九大流域等)

一中国生态功能保护区数据 代码 名称 类型 1 秦岭山地生态功能保护区 水涵养生态功能保护区 2 若尔盖一玛曲生态功能保护区 水涵养生态功能保护区 3 滇西北生态功能保护区 水涵养生态功能保护区 4 珠江源(云南部分)生态功能保护区 水涵养生态功能保护区 5 雅鲁藏布江源头生态…

web前端-javascript-Array数组方法详解(增删改,遍历,截取,连接,转字符串,反转数组,排序)

文章目录数组的方法1. push() 添加2. pop() 删除3. unshift() 添加4. shift() 删除5. forEach() 遍历1) 说明2) 使用6. slice() 截取7. splice() 删除8. concat() 连接9. join() 转String字符串10. reverse() 反转11. sort() 排序1) 简单用法2) 自己指定排序规则数组的方法 1.…

[附源码]Python计算机毕业设计Django新能源汽车租赁

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

全文检索、精准查询、坐标查询、复合查询、排序、分页、高亮

文章目录DSL查询文档DSL查询分类全文检索查询精准查询地理坐标查询复合查询算分函数查询布尔查询搜索结果处理排序单字段 排序多字段 排序地理坐标排序分页高亮RestClient查询文档发起查询请求解析响应match查询精确查询布尔查询排序、分页距离排序高亮高亮请求构建高亮结果解析…

NAT处理流程、分类和使用场景

1、NAT分为源NAT、目的NAT、双向(Bidirection)NAT 源NAT适用于私网访问公网的情形 目的NAT适用于公网访问私网的情形 双向NAT适用于双方都非真实地址的情形 看下图,第一条匹配源NAT Server,如果匹配则2直接转换目的地址 ---> …

32位单片机存储器中地址膨胀映射作用位带操作和对应地址位置关系

映射的作用 所谓映射,实际上是有另一种控制同一个位置功能的方式。就相当于两个方式操作对一个功能起到相同作用 位带(bitband)操作:直译出来的,根本意思是将原地址中每一个字节位都扩展成占用一个32bit位的地址(一个…

ubuntu18中ISCE2.6+stamps实现PSInSAR时序地表形表处理

一 安装ubuntu 教程参考:https://baijiahao.baidu.com/s?id1741674041146755999&wfrspider&forpc 建议安装18或者20版本,版本过高会导致版本不匹配的问题。 二安装Anaconda3 教程参考:https://zhuanlan.zhihu.com/p/269183148 注意…

[附源码]计算机毕业设计Python4S店汽车售后服务管理系统(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

RBAC与连表查询

文章目录0. 前言1. RBAC模型1.1 什么是RBAC模型1.2 准备工作2. 连表操作2.1 常用连表图2.2 准备SQL语句2.3 Mybatis 连表3. 总结与补充0. 前言 连表学习、练习经典:RBAC权限模型、5表联查。 本文采用的持久层实现方式:Mybatis/Mybatis-Plus。 学习基础…

QT系列第6节 QT中常用控件

1. QComboBox 下拉列表 2. QPlainTextEdit QPlainTextEdit的文字内容以QTextDocument类型存储,函数document返回这个文档 对象的指针 QTextDocument是内存中的文本对象,以文本块方式存储,每个段落以换行符结束。 QTextDocument提供一些…

常用日期类

第一代日期类 Date类 Date:精确到毫秒,代表特定的瞬间 当需要获取当前时间时可以直接new一个Date对象,使用无参构造器 Date date new Date();日期转文本 但是直接使用的话,它是国外的时间格式:Sat Dec 17 17:02:3…

Apache IoTDB v1.0.0安装试用小结( linux环境)

1 简介 Apache IoTDB 是一个开源物联网时序数据库。 github地址:https://github.com/apache/iotdb 2 下载 下载地址:https://iotdb.apache.org/Download/ 下载,输入命令: wget https://archive.apache.org/dist/iotdb/1.0.…