C++初阶--String类的使用

string类

C语言中,我们总是用char* 的类型来创建一个变量,存储一个字符串;当我们想对它进行修改或者读写时,需要自我创建空间和使用string.h的库函数来进行操作它

而在C++中,C++专门提供了一个头文件 string 用一个类对字符串的一系列操作进行了封装;对于底层空间不需要用户自己管理了;

当然该类是basic_string类的一个实例,使用了char来实例化basic_string模板类;
这个类独立于所使用的编码来处理字节:如果用来处理多字节或变长字符(如UTF-8)的序列,这个类的所有成员(如长度或大小)以及它的迭代器,将仍然按照字节(而不是实际编码的字符)来操作。
在这里插入图片描述

接下来就详细介绍string类的使用。

创建一个string类的对象

在这里插入图片描述
对于string类的使用,我们首先就必须引用它的头文件

#include < string >

string s1; //默认的创建一个String对象string s2("One more thing"); //用C-Stirng来创建Strng类的对象s2string s3 = s2; //构造拷贝函数string s4(s2); //构造拷贝函数cout << s1 << endl;cout << s2 << endl;cout << s3 << endl;cout << s4 << endl;

对创建的类进行查看
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看对指定字符串的指定子字符串的使用

	string s5(s2, 5, 6);//复制指定字符串的子串cout << s5 << endl;string s6(s2, 1); //从第1个元素进行复制构造cout << s6 << endl;string s7(s2, 5, 100);cout << s7 << endl;

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

npos
在这里插入图片描述

	string s8("One More", 5);//从首个元素复制到指定第5个元素之前cout << s8 << endl;string s9(5, 'c');//复制5个c字符cout << s9 << endl;

在这里插入图片描述

赋值操作

赋值时该对象必须是已经存在的;
在这里插入图片描述

string s1;s1 = 'x';s1 = s2;s1 = "hello";

遍历和访问

size() 和 lenth()

在这里插入图片描述

在这里插入图片描述

操作数[]

可以直接访问对应字符串的元素

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

逆置字符串

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

iterator

iterator迭代器,是C++标准库中的一个概念。它是一种对象,用于遍历容器中的元素序列,以访问和处理容器中的元素。
对于string类来说,terator本质上就是就是一个字符串指针,指向字符串的某个位置,从而允许我们遍历容器中的所有元素,而不需要了解string本身的结构和实现细节。

在这里插入图片描述

在这里插入图片描述

而C++中,有一个reverse的函数模板

在这里插入图片描述

const问题

要注意const和会非const的区别

在这里插入图片描述

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

rbegin()和rend()

在这里插入图片描述

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

back()和front()

在这里插入图片描述

reserve

在这里插入图片描述

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

在Linux的g++中
在这里插入图片描述

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

g++中:
在这里插入图片描述

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

g++中
在这里插入图片描述

结论
在这里插入图片描述

risize()

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

插入

在这里插入图片描述

push_back()

在这里插入图片描述

append()

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

操作数+=

在这里插入图片描述
追加字符时与push_back()一样;追加字符串时,和append()效果一样。

insert

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

erase

在这里插入图片描述

删除指定字符串。

在这里插入图片描述

find()

在这里插入图片描述

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

在这里插入图片描述

rfind

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

c_str

在这里插入图片描述

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

find_first_of

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

find_last_of

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

operator+

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

在这里插入图片描述

getline

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

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

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

相关文章

HNU练习七 字符串编程题7. 机器人游戏

【问题描述】 有人建造了一些机器人&#xff0c;并且将他们放置在包含n个单元的一维网格上&#xff0c;一个长度为n的字符串s代表了他们的编排方式&#xff0c;字符串中的字符既可以是.&#xff0c;也可以是0~9之间的一个数字字符&#xff0c;字符.表示开始时在相应的单元上无机…

RESTful API构建web应用程序的步骤2023

RESTful API是一种基于HTTP协议的API架构风格&#xff0c;它允许客户端和服务器之间传输数据并进行交互。REST是Representational State Transfer的缩写&#xff0c;它强调资源的状态转换&#xff0c;以及通过 URI、HTTP方法等方式对资源进行操作。 使用RESTful API构建web应用…

028 - STM32学习笔记 - ADC(二) 独立模式单通道中断采集

028 - STM32学习笔记 - 结构体学习&#xff08;二&#xff09; 上节对ADC基础知识进行了学习&#xff0c;这节在了解一下ADC相关的结构体。 一、ADC初始化结构体 在标准库函数中基本上对于外设都有一个初始化结构体xx_InitTypeDef&#xff08;其中xx为外设名&#xff0c;例如…

智能优化算法应用:基于阴阳对算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于阴阳对算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于阴阳对算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.阴阳对算法4.实验参数设定5.算法结果6.参考文献7.…

《2023全球隐私计算报告》正式发布!

2023全球隐私计算报告 1、2023全球隐私计算图谱2、国内外隐私计算相关政策3、隐私计算技术的最新发展4、隐私计算技术的合规挑战5、隐私计算的应用市场动态6、隐私计算开源整体趋势7、隐私计算的未来趋势 11月23日&#xff0c;由浙江省人民政府、商务部共同主办&#xff0c;杭州…

智慧化工~工厂设备检修和保全信息化智能化机制流程

化工厂每年需要现场检修很多机器&#xff0c;比如泵、压缩机、管道、塔等等&#xff0c;现场检查人员都是使用照相机&#xff0c;现场拍完很多机器后&#xff0c;回办公室整理乱糟糟的照片&#xff0c;但是经常照了之后无法分辨是哪台设备&#xff0c;而且现场经常漏拍&#xf…

淘宝平台商品详情平台订单接入说明

一 文档说明 本文档面向对象为电商平台商品详情数据和订单进行管理的第三方开发者或自研商家 二 支持范围 目前API已经支持订单的接单、取消、退单处理等操作。如果您的订单管理需求现有API不能满足&#xff0c;可以联系我们提出API需求。 参数说明 通用参数说明 参数不要乱…

CVPR 2023 精选论文学习笔记:Post-Training Quantization on Diffusion Models

基于MECE原则,我们给出以下四种分类依据: 1. 模型类型 生成模型用于生成与其训练数据相似的新数据。它们通常用于图像生成、文本生成和音乐生成等任务。语言模型用于理解和生成人类语言。它们通常用于机器翻译、聊天机器人和文本摘要等任务。其他模型用于各种任务,例如图像…

振南技术干货集:znFAT 硬刚日本的 FATFS 历险记(8)

注解目录 1、znFAT 的起源 1.1 源于论坛 &#xff08;那是一个论坛文化兴盛的年代。网友 DIY SDMP3 播放器激起了我的兴趣。&#xff09; 1.2 硬盘 MP3 推了我一把 &#xff08;“坤哥”的硬盘 MP3 播放器&#xff0c;让我深陷 FAT 文件系统不能自拔。&#xff09; 1.3 我…

【数据结构】八大排序(二)

目录 前言&#xff1a; 冒泡排序 冒泡排序代码实现 冒泡排序特性总结 快速排序 单趟排序hoare版本 单趟排序挖坑法 单趟排序快慢指针法 快速排序整体概览 快排的优化 三数取中法选key 小区间优化 前言&#xff1a; 上文介绍了直接插入排序&#xff0c;希尔排序&…

Spring MVC常用的注解, Controller注解的作用,RequestMapping注解的作用 @ResponseBody注解的作用

文章目录 Spring MVC常用的注解和注解的相关作用Controller注解的作用RequestMapping注解的作用ResponseBody注解的作用PathVariable和RequestParam的区别 Spring MVC常用的注解和注解的相关作用 RequestMapping&#xff1a;用于处理请求 url 映射的注解&#xff0c;可用于类或…

嵌入式开发DDR的选择

摘要&#xff1a; 当前DDR主要有DDR、DDR2、DDR3、DDR4、DDR5等不同的内存标准。本文主要是对比不同标准的DDR&#xff0c;了解其差异性以及优劣势&#xff0c;以便在以后在以后做DDR选型的时候做一定的参考。 嵌入式设备常见的DDR内存标准 嵌入式常见的DDR内存标准有DDR、D…

vue3怎么提升效率的?为什么vue3比vue2快?效率提升主要在哪些方面?

官方文档中说vue3在 客户端渲染效率比vue2提升了1.3~2倍&#xff0c; SSR渲染效率比vue2提升了2~3倍&#xff0c;那么究竟是怎么提升的呢&#xff1f; 一、静态提升 在 vue3项目中的package.json文件中&#xff0c;可以看到这个 vue/compiler-sfc&#xff0c;它是用来解析(.v…

【Java Spring】SpringBoot常用插件

文章目录 1、Lombok1.1 IDEA社区版安装Lombok1.2 IDEA专业版安装Lombok1.3 Lombok的基本使用 2、EditStarters2.1 IDEA安装EditStarters2.2 EditStarters基本使用方法 1、Lombok 是简化Java开发的一个必要工具&#xff0c;lombok的原理是编译过程中将lombok的注解给去掉并翻译…

电力感知边缘计算技术网关产品设计方案-硬件方案

网关硬件架构设计图: 1.配置方案 配置差异 A类网关 B类网关 CPU

LeetCode47. Permutations II

文章目录 一、题目二、题解 一、题目 Given a collection of numbers, nums, that might contain duplicates, return all possible unique permutations in any order. Example 1: Input: nums [1,1,2] Output: [[1,1,2], [1,2,1], [2,1,1]] Example 2: Input: nums [1,…

写一个宏,交换整数二进制位的奇数位和偶数位,并打印这个新的数

我们已经学过了C语言的宏&#xff0c;我们今天应用宏来交换一个整数的二进制的奇数位和偶数位&#xff0c;并得到这个被交换过的数&#xff0c;我们开始吧&#xff01; 1.问题分析 解题方法&#xff1a;& 和<< 和>>操作符 问题解析&#xff1a;我们这里假设一个…

变电站电压无功补偿装置设计

变电站电压无功补偿装置设计 [摘要] 本次毕业设计的题目是变电站电压无功补偿装置设计&#xff0c;变电站在电力系统中甚至是电力网中变电站都起着十分重要的作用&#xff0c;变电站主要有着变换电压、电流、相位等作用&#xff0c;同时也起到了连接了发电站和输配电线路最后将…

这才是BI大数据分析工具的正确打开方式!

这两年经济下行给各行各业造成不小的发展困扰&#xff0c;为此企业积极自救&#xff0c;希望通过数字化降本增效&#xff0c;提高业绩水平。BI大数据分析工具就是企业数字化转型中常用到的一种商业智能BI工具&#xff0c;主要作用是缩短数据分析时间&#xff0c;提升企业数据分…

解析直播第三方美颜SDK:技术原理与应用

时下&#xff0c;直播平台和主播们纷纷引入美颜技术&#xff0c;以提升视觉效果和用户体验。而在众多美颜技术中&#xff0c;直播第三方美颜SDK成为许多开发者和平台的首选&#xff0c;因其灵活性和高效性而备受推崇。 一、技术原理&#xff1a;美颜算法的精髓 第三方美颜SDK…