黑马c++----string容器笔记
创始人
2025-05-30 11:29:06
0

3.string容器

3.1.1string基本概念

本质: string 是c++风格的字符串,而string本质上是一个类
string和char*区别:

  • char*是—个指针
  • string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。
    特点:
  • string类内部封装了很多成员方法,例如:查找find,拷贝copy,册除delete替换replace,插入insert,
  • string管理char*所分配的内存,不用担心复制越界和取值越界等,由类内部进行负责

3.1.2 string构造函数

构造函数原型:

string ();   //创建—个空的字符串例如: string str;
string(const char* s);  //使用字符串s初始化
string(const string& str);  //使用一个string对象初始化另一个string对象
string(int n, char c);  //使用n个字符c初始化

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

3.1.3string赋值操作

功能描述:

  • 给string字符串进行赋值
    赋值的函数原型:
string& operator=( const char* s );  //char*类型字符串赋值给当前的字符串
string& operator-( const string &s ) ;   //把字符串s赋给当前的字符串
string& operator=( char c);     //字符赋值给当前的字符串
string& assign(const char *s );      //把字符串s赋给当前的字符串
string& assign(const char *s, int n);      //把字符串s的前n个字符赋给当前的字符串
string& assign(const string &s ) ;     //把字符串s赋给当前字符串
string& assign(int n, char c);      //用n个字符c赋给当前字符串

在这里插入图片描述

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

在这里插入图片描述

3.1.4 string字符串拼接

功能描述:
·实现在字符串末尾拼接字符串
在这里插入图片描述
请添加图片描述
在这里插入图片描述

3.1.5 string查找和替换

功能描述:
·查找:查找指定字符串是否存在
·替换:在指定的位置替换字符串

在这里插入图片描述
find:
3
优化版本:
在这里插入图片描述

rfind 和find区别:rfind从右往左查找find从左往右查找

rfind:
在这里插入图片描述
替换:
在这里插入图片描述
在这里插入图片描述
总结:
1.find查找是从左往后,rfind从右往左
2. find找到字符串后返回查找的第一个字符位置,找不到返回-1
3. replace在替换时,要指定从哪个位置起,多少个字符,替换成什么样的字符串

3.1.6 string字符串比较

功能描述:

  • 字符串之间的比较
    比较方式:
  • 字符串比较是按字符的ASCII码进行对比
    =返回 0

返回 1
<返回 -1
函数原型:
在这里插入图片描述

3.1.7 string字符存取

string中单个字符存取方式有两种

在这里插入图片描述

string str = "hello";

在这里插入图片描述

在这里插入图片描述

3.1.8 string插入和删除

功能描述:
对string字符串进行插入和删除字符操作
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.1.9 string子串

功能描述:
·从字符串中获取想要的子串

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

使用操作:

在这里插入图片描述

相关内容

热门资讯

JAVASE/封装、继承、多态 博客制作不易,欢迎各位点赞👍+收藏⭐+关注前言在学习面...
Elasticsearch中索... 概要 由于历史原因,A产品数据入Es库中字段默认都是keyword并没有区分字段类型属...
4.网络层:数据平面 1.网络层概述网络中的每台主机和路由器之间都有一个网络层路由器具有截断的协议栈,没有网...
2023系统分析师-企业信息化... 一、信息化战略体系 1、信息资源规划ISP 信息资源规划是信息化建设的基础工程,是针对...
inverted_residu... 1. 线性BottleNect 线性瓶颈是在 MobileNetV2: Inverted Resid...
Apache DophinSc... 前言 本文通过定时调度Python的例子演示了Apache DophinScheduler 的基本操...
企业帮助文档搭建步骤 产品帮助文档是指一份或多份文件,用于帮助用户了解、学习和使用产品。产品帮助文档通常包括...
梦幻西游单机架设教程-端游篇 准备工具:GGE服务端客户端服务器源码废话不多说教程开始我们打开GEE双击打开ggem...
线性动态规划问题 文章目录1. 三角形中最小路径之和2. 最长递增子序列3. 最长公共子序列 1. 三角形中最小路径之...
信息系统安全(对称加密)-软件... 计算机网络-计算子网掩码(下)-软件设计(三十࿰...
css单位px,rem,em,... pxpx就是pixel像素的缩写,相对长度单位,网页设计常用的基本单位。...
【独家】华为OD机试 - 删除... 最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真...
2025韩系车太委屈!全球第4... 2025年韩系车,真的“寒”前两日,小编为大家分享了一下,2025年度美系车在中国汽车市场艰难的表现...
【C++】面向对象之继承 谈到面向对象的三大特性,必然绕不开封装、继承和多态。 但是需要明确的是三大特性是所有的...
【 Deep-Shallow ... A Deep-Shallow Fusion Network with Multi-Detail Ex...
机器学习必知的基础概念(Fun... 机器学习必知的基础概念(Fundamental Theories of Machine...
Word怎么转换成PDF文件格... PDF是一种通用的文件格式,它可以在不同操作系统和设备上保持一致的显示效果。在日常工作...
【C++】面试101,二叉搜索... 目录 1.二叉搜索树的最近公共祖先  2.在二叉树中找到两个节点的最近公共祖先 3.序列化二叉树 4...
linux简单入门 目录Linux简介Linux目录结构Linux文件命令文件处理命令文件查看命令常用文件查看命令Lin...
LP周报丨央企创投母基金来了,... 一级市场再现重量级玩家。本周,由国务院国资委指导、中国诚通控股集团有限公司牵头组建的“诚通科创投资基...