黑马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子串

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

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

使用操作:

在这里插入图片描述

相关内容

热门资讯

十年七换首相,唐宁街10号的走... 2026年6月22日,执政尚不足两年的英国首相基尔·斯塔默(Keir Starmer)在5月地方选举...
原创 火... # 优质好文激励计划# 火星上古代生命的可能迹象富含复杂碳 毅力号火星车搭载的一台仪器在岩石表面发现...
“泥浆下来时,他走在最后被冲走... 新京报记者 赵露 制作 罗伟伟 ▲新京报我们视频出品(ID:wevideo) 7月10日,新京报多方...
美国2026财年前9个月联邦赤... 7月10日消息,据美国国会预算办公室发布的《2026年6月月度预算回顾》,2026财年前九个月,美国...
张雪回应“捐500万驰援广西” 7月10日消息,张雪在社交平台发布视频,回应捐款问题。张雪称,“有人觉得我捐得有点多,这笔钱对张雪机...
胜宏科技回应英伟达传闻:核心客... 7月10日消息,胜宏科技在互动平台回应投资者关切。近期传闻英伟达Rubin服务器架构延迟推出。对此,...
阳光电源:海外CSP厂商对公司... 7月10日消息,阳光电源在投资者关系活动记录表中表示,SST成为必然趋势,主要源于AI算力爆发对数据...
今年以来提前结募基金数量大增 7月10日消息,Wind数据显示,截至7月9日,今年以来提前结束募集的基金达244只。权益基金成为绝...
原创 谅... 哈梅内伊遗体7月9日已经运至伊拉克,超230万伊拉克民众为其送行。 然而,在葬礼期间,美国再次轰炸伊...
美加墨世界杯淘汰赛:法国队战胜... 7月9日,法国队球员姆巴佩(前)在比赛中准备罚点球。 当地时间7月9日,在美国波士顿体育场进行的20...