STL初识——string的用法

string

  • 一.string的介绍
  • 二.string的使用
    • 2.1接口(构造类型)
    • 2.2string的遍历和访问
      • 第一种遍历方式
      • 第二种遍历方式
      • 补充(反向迭代器)rbeign,rend
    • 2.2接口(常用函数)
      • 2.2.1反转字符串(reverse)
      • 2.2.2扩容(reserve)
      • 2.2.3扩容+修改(resize)
      • 2.2.5 find和substr
      • 补充npos缺省值

一.string的介绍

string就是字符序列的类模板。我们在以后使用字符的时候,最经常运用的就是sting

二.string的使用

2.1接口(构造类型)

在这里插入图片描述
string的类型非常的多,设计的有些冗余,我们基本上会用上面的四个最重要的也就够了。

2.2string的遍历和访问

我们先补充两个关键字length和size,这两个都是计算字符串长度的关键字,用法相同,我们一般使用size。
在这里插入图片描述

第一种遍历方式

在这里插入图片描述
在这里插入图片描述
这种其实就是我们之前学习的类似于数组下标的访问方式,这种不是我们的重点。

第二种遍历方式

迭代器是我们以后学习的重点,
在这里插入图片描述
我们之后还会学习两个类,一个是vector,一个是list。他们的遍历方式都是只有迭代器的所以我们会了一个后面两个我们也就会了。
在这里插入图片描述
这一种本质上也是迭代器的遍历。
下面我们看看迭代器有多么方便。

vector<int> ls;ls.push_back(1);ls.push_back(2);ls.push_back(3);ls.push_back(4);ls.push_back(5);ls.push_back(6);vector<int>::iterator it = ls.begin();while (it != ls.end()){cout << *it << " ";it++;}cout << endl;list<double> l;l.push_back(1.21);l.push_back(2.21);l.push_back(3.21);l.push_back(4.21);l.push_back(5.21);l.push_back(6.21);l.push_back(7.21);list<double>::iterator l1 = l.begin();while(l1 != l.end()){cout << *l1 << " ";l1++;}cout << endl;

在这里插入图片描述

补充(反向迭代器)rbeign,rend

	string::reverse_iterator it = s1.rbegin();while (it != s1.rend()){cout << *it << " ";it++;}

在这里插入图片描述

反向遍历

2.2接口(常用函数)

2.2.1反转字符串(reverse)

在这里插入图片描述
这种方法过于麻烦,我们在string有了更简便的东西。
在这里插入图片描述
只需要一行就可以解决问题。

2.2.2扩容(reserve)

在这里插入图片描述

2.2.3扩容+修改(resize)

resize既可以改变容量还可以改变其中的值
在这里插入图片描述
在这里插入图片描述

2.2.5 find和substr


find就是从pos位置开始找出符合的字符或字符串。
在这里插入图片描述
substr就是从pos位置开始复制len个长度的字符串,形成新的字符串。
我们可以用这两个组合解决下面的问题,提取出文件的后缀。find找出位置,substr复制出后缀。
在这里插入图片描述

补充npos缺省值

npos就是string中的一个缺省值,可以把它简单的认为是,字符串的最后一个位置。

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

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

相关文章

torch与cuda\cudnn和torchvision的对应

以上图片来源于这篇博客 于是&#xff0c;我需要手动下载0.9.0torchvision 直接在网站https://pypi.tuna.tsinghua.edu.cn/simple/后面加上torchvision&#xff0c;就不用ctrlF搜torchvision了&#xff0c;即进入下面这个网站&#xff0c;找到对应版本的包下载安装即可 https…

如何在Microsoft 365中编辑和使用Loop文档(Word篇)

今天我们来介绍一下如何在Microsoft 365的Word中去编辑和使用Loop文档。首先&#xff0c;进入Microsoft 365在线版的Word界面。 创建一个“空白文档”。 在Word菜单中选择“插入”-“Loop组件”。目前仅支持“清单”、“任务列表”和“投票”。以“任务列表”为例。 点击“任务…

十大排序算法之快速排序

快速排序 快速排序也称为分区交换排序&#xff0c;它采用的是分治思想&#xff0c;是冒泡排序的改良版。冒泡排序需要进行比较并交换的次数较多&#xff0c;因为它是在两个相邻数据之间进行比较并交换的操作&#xff0c;每次只能移动一个位置&#xff0c;而快速排序是在两个分…

Q-Bench:一种用于低级别视觉通用基础模型的基准测试

1. 引言 多模态大语言模型&#xff08;Multi-modality Large Language Models&#xff0c;后续简称多模态大模型&#xff09;能够提供强大的通用级别视觉感知/理解能力&#xff0c;甚至可以通过自然语言与人类进行无缝对话和互动。虽然多模态大模型的这些能力已经在多个视觉语…

[二叉树专题]判断平衡二叉树|二叉树所有路径|左叶子之和

一、判断平衡二叉树 给定一个二叉树&#xff0c;判断它是否是高度平衡的二叉树。 本题中&#xff0c;一棵高度平衡二叉树定义为&#xff1a; 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 思路&#xff1a;自下而上递归方法&#xff0c;其遍历顺序是后序遍历…

Python中通过字符串访问与修改局部变量

嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 在Python中定义一个函数时&#xff0c;就会把变量空间划分为全局变量(global)与局部变量(local)&#xff0c; 如果是定义在一个类的成员函数中&#xff0c;那么就…

Ubuntu2204+ROS2(humble)+usb_cam内参标定

1、安装usb_cam包 pip install pydantic1.10.14sudo apt install ros-humble-usb-cam# 测试打开相机 ros2 launch usb_cam camera.launch.py# 显示图像 ros2 run image_view image_view image:/camera1/image_raw 2、安装 camera_calibration sudo apt install ros-humble-c…

爬虫学习笔记-get请求获取豆瓣电影排名多页数据★★★★★

1. 导入爬虫需要使用的包 import urllib.request import urllib.parse 2.创建请求函数 def create_request(page): # 定义不变的url部分 base_url https://movie.douban.com/j/chart/top_list?type5&interval_id100%3A90&action& # 根据规律定义data拼接url …

HCIA真机实验:三层交换机实现vlan之间的通信(内含配置命令)

基础实验示例&#xff1a; 最上面那个交换机作为三层交换机。 下面的两个交换机的配置与之前单臂路由实现vlan之间的通信的配置相同。在这个基础上开启三层交换机 在三层交换机上的配置&#xff1a; 1、创建vlan&#xff08;底下的交换机有多少个vlan&#xff0c;则三层交换…

算法沉淀——前缀和(leetcode真题剖析)

算法沉淀——前缀和 01.一维前缀和02.二维前缀和03.寻找数组的中心下标04.除自身以外数组的乘积05.和为 K 的子数组06.和可被 K 整除的子数组07.连续数组08.矩阵区域和 前缀和算法是一种用于高效计算数组或序列中某个范围内元素之和的技巧。它通过预先计算数组的前缀和&#xf…

MyBatis详解(4) -- 动态SQL

MyBatis详解&#xff08;4&#xff09; 动态SQL两种方式&#xff1a;1.映射器配置文件&#xff1b; 2.注解常用的动态 SQL 元素if元素where元素set元素choose元素&#xff08;优先&#xff0c;只执行一个&#xff09;trim元素foreach 元素&#xff08;批量处理&#xff09;bind…

【云原生】docker-compose单机容器集群编排工具

目录 一、docker-compose容器编排的简介 二、docker-compose的使用 1、docker-compose的安装 2、docker-compose的配置模板文件yaml文件的编写 &#xff08;1&#xff09;布尔值类型 &#xff08;2&#xff09;字符串类型 &#xff08;3&#xff09;一个key有多个值 &am…