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

news2024/9/24 9:26:02

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类的对象s2
	string 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.coloradmin.cn/o/1263668.html

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

相关文章

揭秘论文开题报告写作技巧,全程无忧,附赠技术路线图模板!

最近不少学校开始让准毕业生撰写论文开题报告&#xff0c;如果是第一次接触学术论文的朋友&#xff0c;多少会卡在概念的理解上&#xff0c;就像题主说到的&#xff0c;开题报告中包含的各个部分&#xff0c;如研究目的、研究目标、研究内容等&#xff0c;容易让人眼花缭乱。 …

ChatGPT到底是如何运作?

自从2022年11月30日发布以来&#xff0c;ChatGPT一直占据着科技届的头条位置&#xff0c;随着苹果的创新能力下降&#xff0c;ChatGPT不断给大家带来震撼&#xff0c;2023年11月7日&#xff0c;首届OpenAI开发者大会在洛杉矶举行&#xff0c;业界普遍认为&#xff0c;OpenAI的开…

2021年12月 Scratch图形化(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共15题,每题2分,共30分) 第1题 下图两个积木的值分别是? A:false true B:false false C:true true D:true false 答案:A 第2题 小猫和小狗是非常好的朋友,他们发明了一种加密方法:用两位数字代表字母。…

【Linux进阶之路】进程间通信

文章目录 一、原理二、方式1.管道1.1匿名管道1.1.1通信原理1.1.2接口使用 1.2命名管道 2.共享内存2.1原理2.2接口使用 3.消息队列原理 4.信号量引入原理 总结 一、原理 进程间的通信是什么&#xff1f;解释&#xff1a; 简单理解就是&#xff0c;不同进程之间进行数据的输入输出…

python之pyqt专栏7-信号与槽3

在上一篇文章中python之pyqt专栏6-信号与槽2-CSDN博客中&#xff0c;我们可以了解到对象可以使用内置信号&#xff0c;这些信号来自于类定义或者继承过来的。我们可以对这些信号可以通过connect连接槽函数。 需求 现在有一个需求&#xff0c;有两个UI界面“untitled.ui”和“u…

微信小程序开发——项目开发入门

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 概述 本文重点介绍微信小程序开发者工具的下载与安装与项目开发入门。 下载开发者工具 请在官方网站下载微信小程序开发工具&#xff1b;图示如下&#xff1a; 请依据实际…

基于mvc的大学生家教信息网站系统php+vue

运行环境:phpstudy/wamp/xammp等 开发语言&#xff1a;php 后端框架&#xff1a;Thinkphp5 前端框架&#xff1a;vue.js 服务器&#xff1a;apache 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat/phpmyadmin 开发软件&#xff1a;hbuilderx/vscode/Dreamweaver/PhpSt…

[SaaS] 淘宝AI淘淘秀

AIGC技术在淘淘秀场景的探索与实践关键词&#xff1a;图像类AI创新应用、用户轻松创作、内容分享、结合商家品牌。https://mp.weixin.qq.com/s/-3a3_nKeKGON-9-Prd7JKQ 1.生成模版 利用定制的prompt&#xff0c;生成一些比较好的素材图片案例。 最终的用的是通义万相。 2.仿…

不会代码也能拿高薪?掌握面试法宝,轻松10000+

快速排序&#xff08;Quicksort&#xff09;是对冒泡排序的一种改进。 快速排序由 C.A.R.Hoare 在 1962 年提出。 它的基本思想是&#xff1a;通过一趟排序将要排序的数据分割成独立的两部分&#xff0c;其中一部分的所有数据都比另外一部分的所有数据都要小&#xff0c;然后…

基于springBoot+mysql实现的竞赛管理系统

基于springBootmysql实现的竞赛管理系统&#xff0c;演示地址:系统登录 - 软件学院比赛管理系统 管理员账号&#xff1a;1&#xff0c;密码:1 包括比赛管理&#xff0c;队伍管理&#xff0c;教师管理&#xff0c;经费管理&#xff0c;学生管理&#xff0c;比赛结果&#xff0c;…

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

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

银行各类计算公式汇总

一、存款准备金 存款准备金&#xff0c;分为法定存款准备金和超额存款准备金&#xff08;主要构成是存放央行及现金&#xff0c;不包括存放同业资金&#xff09;。下表为目前最新的各类银行业金融机构存款准备金水平。 法定存款准备金率是指中央银行规定的&#xff0c;存款性…

有没有不含亚硫酸盐的葡萄酒?

没有完全不含亚硫酸盐的葡萄酒&#xff0c;有机葡萄酒和生物动力葡萄酒中也会含有少量天然 亚硫酸盐。因为它是在发酵过程中产生的一种化合物&#xff0c;所以不可能酿造无亚硫酸盐的葡萄酒。 在大多数葡萄酒国家都有葡萄酒法律规定&#xff0c;如果葡萄酒超过特定的亚硫酸盐水…

Node.js 事件循环:定时任务、延迟任务和 I/O 事件的艺术

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

使用 watch+$nextTick 解决Vue引入组件无法使用问题

问题描述&#xff1a; 很多时候我们都需要使用第三方组件库&#xff0c;比如Element-UI&#xff0c;Swiper 等等。 如果我们想要在这些结构中传入自己从服务器请求中获取的数据就会出现无法显示的问题。 比如我们在下面的Swiper例子中&#xff0c;我们需要new Swiper 才能让…

WordPress自动采集伪原创发布工具

在当今数字化时代&#xff0c;随着信息爆炸式增长&#xff0c;网站内容的更新速度飞快。对于拥有WordPress网站的用户而言&#xff0c;如何轻松而又快速地批量采集伪原创内容成为一项具有挑战性的任务。本文将专心分享一些方法和技巧&#xff0c;帮助WordPress用户实现批量采集…

python学习过程中一些问题记录总结

工作机器上安装了 两个环境 使用anaconda3 时配置仓库地址不能 拉取到 cv2 DBUtils 使用python2 时 版本低&#xff0c;拉取不到 解决办法&#xff0c;python2不支持下载最新版本的&#xff0c;需要指定下载一个老的版本即可&#xff0c;下个1.3的就OK了 pip install DBU…

【随笔】OpenFlow概述

SDN之前的网络结构 硬件 操作系统 网络功能(交换机、路由器、防火墙、VPN、NAT、OSPF、BGP、Traffic Engineering) 北向是SDN应用 SDN控制器 底层是SDN数据面(通用硬件) openflow OPEN NETWORKING FOUNDATION 支持开放的SDN平台&#xff0c;一直使用的是openflow协议。 op…

Vue 双向数据绑定

之前通过v-bind来完成的数据绑定&#xff0c;属性值和表达式进行绑定&#xff0c;表达式的值发生变化了属性值也跟着发生变化。 单向数据绑定&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>首页</titl…

rss服务搭建记录

layout: post title: RSS subtitle: vps搭建RSS服务 date: 2023-11-27 author: Sprint#51264 header-img: img/post-bg-universe.jpg catalog: true tags: - 折腾 文章目录 引言RSShub-dockerRSS-radarFreshrssFluent reader获取fever api配置Fluent Reader同步 结语 引言 一个…