string类、string类的常用接口说明等的介绍

2024-09-07 07:36

本文主要是介绍string类、string类的常用接口说明等的介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、 string类
  • 二、 string类的常用接口说明
    • 1. string类对象的常见构造
    • 2. string类对象的容量操作
    • 3. string类对象的访问及遍历操作
    • 4. string类对象的修改操作
    • 5. string类非成员函数
  • 总结


前言

string类、string类的常用接口说明等的介绍


一、 string类

  1. string是表示字符串的字符串类
  2. 该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。
  3. string在底层实际是:basic_string模板类的别名,typedef basic_string<char, char_traits, allocator>
    string;
  4. 不能操作多字节或者变长字符的序列。

二、 string类的常用接口说明

1. string类对象的常见构造

在这里插入图片描述

#include<iostream>
#include <string>
using namespace std;void Test1()
{string s1; // 构件空字符string类对象string s2("hello world"); // 使用c的字符串构造string类对象string s3(10, '*'); // 用n个字符创建string类对象string s4(s2); // 拷贝构造s2cout << s1 << endl;cout << s2 << endl;cout << s3 << endl;cout << s4 << endl;
}int main()
{Test1();return 0;
}

在这里插入图片描述

2. string类对象的容量操作

在这里插入图片描述

3. string类对象的访问及遍历操作

在这里插入图片描述

4. string类对象的修改操作

在这里插入图片描述

void Test2()
{string s1("hello");  // 使用c字符串构造string类对象s1.push_back(' ');   // 尾插一个空字符s1.append("world");   // 尾插一个c的字符串cout << s1 << endl; // hello worldstring s2("hello");s2 += " csdn";    // 使用+=运算符重载函数链接字符串 += 不仅可以链接单个字符也可以链接字符串cout << s2 << endl;// 使用一个网址(字符串)构造string类对象string url("https://editor.csdn.net/md?not_checkout=1&spm=1011.2415.3001.6217&articleId=141905450");// substr从pos位置开始截取n个字符// 截取协议并打印cout << url.substr(0, 5) << endl;// 截取域名并打印cout << url.substr(8, 15) << endl;// 截取剩余并打印cout << url.substr(24) << endl;
}int main()
{Test2();return 0;
}

在这里插入图片描述
注意:

  1. 在string尾部追加字符时,s.push_back© / s.append(1, c) / s += 'c’三种的实现方式差不多,一般
    情况下string类的+=操作用的比较多,+=操作不仅可以连接单个字符,还可以连接字符串。
  2. 对string操作时,如果能够大概预估到放多少字符,可以先通过reserve把空间预留好。

5. string类非成员函数

在这里插入图片描述


总结

string类、string类的常用接口说明等的介绍

这篇关于string类、string类的常用接口说明等的介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144457

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has

Redis中哨兵机制和集群的区别及说明

《Redis中哨兵机制和集群的区别及说明》Redis哨兵通过主从复制实现高可用,适用于中小规模数据;集群采用分布式分片,支持动态扩展,适合大规模数据,哨兵管理简单但扩展性弱,集群性能更强但架构复杂,根... 目录一、架构设计与节点角色1. 哨兵机制(Sentinel)2. 集群(Cluster)二、数据分片

C++ STL-string类底层实现过程

《C++STL-string类底层实现过程》本文实现了一个简易的string类,涵盖动态数组存储、深拷贝机制、迭代器支持、容量调整、字符串修改、运算符重载等功能,模拟标准string核心特性,重点强... 目录实现框架一、默认成员函数1.默认构造函数2.构造函数3.拷贝构造函数(重点)4.赋值运算符重载函数

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

redis数据结构之String详解

《redis数据结构之String详解》Redis以String为基础类型,因C字符串效率低、非二进制安全等问题,采用SDS动态字符串实现高效存储,通过RedisObject封装,支持多种编码方式(如... 目录一、为什么Redis选String作为基础类型?二、SDS底层数据结构三、RedisObject

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.