【C++初阶】:string类

这篇具有很好参考价值的文章主要介绍了【C++初阶】:string类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一string的基本用法

文档里

【C++初阶】:string类

【C++初阶】:string类
【C++初阶】:string类

一般使用

【C++初阶】:string类

二.迭代器

【C++初阶】:string类

1.基本使用

string里重载了一种非常厉害的运算符[ ]

【C++初阶】:string类

这个运算符本质上是解引用,是数组用来访问数据的运算符。所以我们可以用这个运算符对每个字符进行操作。补充个小知识:string是一个类,类里有许多的成员函数,这些成员函数下面会讲,这里先用一个size,代表字符串的长度。

访问每个字符

【C++初阶】:string类

【C++初阶】:string类

迭代器

【C++初阶】:string类

【C++初阶】:string类

2.语法糖

【C++初阶】:string类

【C++初阶】:string类

这里的原理是,把s2的每一个字符复制到ch里,auto自动推演ch的类型。因为ch是复制的值,所以下面改变ch并不会改变s2,如果需要改变,我们得用&

【C++初阶】:string类

【C++初阶】:string类

这里看起来是一个范围for,实际上底层依然是迭代器。

3.反向迭代器

【C++初阶】:string类

【C++初阶】:string类

4.const迭代器

【C++初阶】:string类

这里实际上是一个权限放大的问题,const对象也应当调用const迭代器。

【C++初阶】:string类**【C++初阶】:string类

补充一下:为什么const修饰,it却能++呢?知识因为const修饰的实际上*it,而不是it。

三.容量

【C++初阶】:string类

【C++初阶】:string类

我们可以看到它有一个capacity函数,就是容量,如果容量不够它就会自动扩容,不同的编译器扩容的大小是不一样的,在vs2019里每次扩容1.5倍。很明显这样扩容的代价是很大的,很容易就没空间了,所以它又提供了一个reserve函数。

【C++初阶】:string类
【C++初阶】:string类

上面还有一个resize函数,resize和reserve的区别是:resize是开空间+初始化(默认是\0),reserve是单纯的开空间。

【C++初阶】:string类

【C++初阶】:string类

四.插入和删除

插入
【C++初阶】:string类

【C++初阶】:string类

删除

【C++初阶】:string类

【C++初阶】:string类

【C++初阶】:string类

谨慎使用insert和erase,插入和删除效率很低,能避免就避免。

五.一个例题:解析协议

find函数
【C++初阶】:string类

substr函数
【C++初阶】:string类

【C++初阶】:string类

【C++初阶】:string类

六.读取空格

【C++初阶】:string类

字符串在使用cin读取时遇到空格就会自动停止,使用这个函数就可以读取空格,并且可以自由控制。

【C++初阶】:string类

七.一些其他函数

【C++初阶】:string类
字符串转整形
【C++初阶】:string类

字符串转double
【C++初阶】:string类
其他转字符串

【C++初阶】:string类文章来源地址https://www.toymoban.com/news/detail-472770.html

到了这里,关于【C++初阶】:string类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • C++ String类的基本使用

    C++ String类的基本使用

            放弃时间的人,时间也会放弃他。——莎士比亚 ; 本篇章是关于string类内一些函数的介绍以及使用方法,都是我们编程必须掌握的基础! ​ 全文共7000字左右. 话不多说安全带系好,发车啦 (建议电脑观看) 。 附:红色,部分为重点部分;蓝颜色为需要记忆的

    2024年02月09日
    浏览(15)
  • 【C++初阶】8. STL初阶 + String类

    【C++初阶】8. STL初阶 + String类

    STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗 数据结构与算法的软件框架 。 原始版本 Alexander Stepanov、Meng Lee 在 惠普实验室 完成的原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播

    2023年04月08日
    浏览(18)
  • 【C++初阶】:string类

    【C++初阶】:string类

    文档里 一般使用 string里重载了一种非常厉害的运算符[ ] 这个运算符本质上是解引用,是数组用来访问数据的运算符。所以我们可以用这个运算符对每个字符进行操作。补充个小知识:string是一个类,类里有许多的成员函数,这些成员函数下面会讲,这里先用一个size,代表字

    2024年02月08日
    浏览(10)
  • C++——模板(初阶) + string

    C++——模板(初阶) + string

    作者:几冬雪来 时间:2023年5月19日 内容:C++模板 + string讲解 目录 前言: 1.模板:  1.函数模板的隐/显示实例化:  2.类模板: 2.STL:  1.  什么是STL:  2.STL六大组件:  3.string类:  结尾:  在上一篇博客我们结束了动态管理的讲解,并且在最后的时候我们引出了下一个学

    2024年02月05日
    浏览(9)
  • C++初阶—string类(1)

    C++初阶—string类(1)

      目录 1. 为什么要学习string类 1.1 C语言中的字符串 1.2 两个面试题 2. 标准库中的string类 3. string类对象的常见构造  string常见构造类的使用代码演示 4. string类对象的容量操作 string容量相关方法使用代码演示 5. string类对象的访问及遍历操作 string中元素访问及遍历代码演示 6.

    2023年04月08日
    浏览(12)
  • 【C++庖丁解牛】实现string容器的增删查改 | string容器的基本接口使用

    【C++庖丁解牛】实现string容器的增删查改 | string容器的基本接口使用

    🍁你好,我是 RO-BERRY 📗 致力于C、C++、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 函数名称 功能说明 push_back 在字符串后尾插字符c append 在字符串后追加一个字符串 operator+= (重点) 在字符

    2024年03月14日
    浏览(19)
  • 【C++初阶】string 类的认识与学习

    【C++初阶】string 类的认识与学习

      在学习string类之前,先在这里推荐2个好用的网站,可以用来查阅C++的相关知识 https://cplusplus.com https://en.cppreference.com/w/ 上面的是非官方的,下面的官方的,但是个人感觉还是上面的好用。 简单来说, string 是C++中用来管理字符串的类。 他有很多接口,大致分为: 1.string类

    2024年02月09日
    浏览(16)
  • 【C++初阶】9. string类的模拟实现

    【C++初阶】9. string类的模拟实现

    string类的完整实现放这里啦!快来看看吧 string类的作用就是将字符串类型实现更多功能,运算符重载,增删改查等等操作,所以其成员就包含char*的字符串 在之前的学习过程中,我们了解到类中存在的六个默认函数,其中就包含默认构造函数,那么对于string类是否需要用户自

    2024年02月09日
    浏览(10)
  • 【C++初阶】学习string类的模拟实现

    【C++初阶】学习string类的模拟实现

    前面已经学习了string类的用法,这篇文章将更深入的学习string类,了解string类的底层是怎么实现的。当然,这里只是模拟一些常用的,不常用的可以看文档学习。 我们一共创建两个文件,一个是test.cpp文件,用于测试;另一个是string.h文件,用于声明和定义要模拟的string类。

    2024年02月03日
    浏览(13)
  • 【C++初阶】模拟实现string的常见操作

    【C++初阶】模拟实现string的常见操作

    👦个人主页:@Weraphael ✍🏻作者简介:目前学习C++和算法 ✈️专栏:C++航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞👍🏻 收藏 📂 加关注✨ 为了方便管理代码,分两个文件来写: Test.cpp - 测试代码逻辑 string.h - 模拟实现 strin

    2024年02月12日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包