容器: string

  • 引言: 为什么要有string类型, 就使用字符数组表示字符串不行吗?
    • 原因: 使用字符数组描述文本信息, 无法确定开多大空间, 开多了浪费,开少了不够用
    • 使用string封装:
      • 扩容机制:减少了空间的浪费
      • 各种接口:方便修改等操作

string的使用

  • 容量相关
    • size:获取字符个数,不包含\0 (C语言规定字符串以\0结尾,C++通过size知道其结束位置)
    • capacity:获取容量
    • reserve: 扩容, 不改变size,不会缩容
    • resize: 扩容, 改变size,不会缩容  +  可以指定字符初始化
  • 运算符重载
    • string常用 +, +=
    • string对象可以支持>, < ,==,的比较
    • []
  • 其它
    • find: 查找指定的字符,(npos: -1, 表示未找到的情况)
    • substr:裁剪字符串
    • replace:替换指定的字符
    • to_string:数字转字符
    • stoi:字符串转数字
  • iostream
    • cin>>  : 遇到' '或'\n'就停止
    • getline: 遇到'\n'停止
    • 重载>>:定义一个buffer往buff中写(1)当满了就写进s(2)读到' '或'\n'且buff中有数据就写进s.这样可用减少频繁的扩容,减少空间的浪费

string的简单实现

默认成员函数: 拷贝构造与赋值--对构造函数的复用 + 利用对象管理资源

string的访问: [], 迭代器, c_str

string的容量: reserve, resize等 -- size,capacity的修改

string的修改: 增删改查 -- 对容量的检查, 数据的挪动, str函数的复用

运算符重载: str函数的复用

代码: String

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

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

相关文章

从huggingface下载模型像本地加载但是UnicodeDecodeError

我自己是在Linux下出现了这个问题 原文&#xff1a;https://github.com/huggingface/transformers/issues/13674 The path for the AutoModel should be to a directory pointing to a pytorch_model.bin and to a config.json. Since you’re pointing to the .bin file dire…

探究java final、finally、finalize的异同

探究final、finally、finalize的异同 在Java编程语言中&#xff0c;final、finally和finalize是三个看似相似但实际上用途迥异的关键词。它们各自在Java的不同场景中扮演着重要角色。本文旨在深入探讨这三个关键词的含义、用法以及它们之间的区别。 1. final final是一个Jav…

无限debugger的几种处理方式

不少网站会在代码中加入‘debugger’&#xff0c;使你F12时一直卡在debugger&#xff0c;这种措施会让新手朋友束手无策。 js中创建debugger的方式有很多&#xff0c;基础的形式有&#xff1a; ①直接创建debugger debugger; ②通过eval创建debugger&#xff08;在虚拟机中…

ERD Online 快速启动指南:代码下载到首次运行的全流程攻略 ️

&#x1f680; 一、代码下载 ERD online前端代码正常拉取即可&#x1f44c; 后端代码含有子模块&#xff0c;拉取命令如下&#xff1a; git clone --recurse-submodules https://github.com/www-zerocode-net-cn/martin-framework.git &#x1f6e0;️ 二、代码构建 &#x1f3…

PROTEUS可以在单片机设计时帮助你做什么

引言 在单片机&#xff08;MCU&#xff09;设计过程中&#xff0c;验证和调试是非常重要的步骤。然而&#xff0c;使用实际硬件进行验证和调试需要大量的时间和成本。这时&#xff0c;PROTEUS作为一款强大的电子设计自动化软件&#xff0c;可以极大地提高设计效率&#xff0c;…

算法二刷day3

203.移除链表元素 class Solution { public:ListNode* removeElements(ListNode* head, int val) {ListNode *dummyHead new ListNode(0);dummyHead->next head;ListNode *cur dummyHead;while (cur->next ! nullptr) {if (cur->next->val val) {ListNode *tm…

安全防御-第七次

在FW5和FW6之间建立一条IPSEC通道保证10.0.2.0/24网段可以正常访问到192.168.1.0/24 NAT&#xff1a; 安全策略&#xff1a; NAT: 安全策略&#xff1a; 修改服务器映射&#xff1a; 配置IPSEC&#xff1a;

物联网的商业模式洞察

大约在十年前&#xff08;2014年11月&#xff09;&#xff0c;全球知名管理思想家、哈佛商学院教授迈克尔波特与PTC前首席执行官吉姆赫普尔曼&#xff0c;在《哈佛商业评论》上联合撰写了一篇备受赞誉的文章&#xff0c;题为《智能互联产品如何改变竞争》。在这篇文章中&#x…

零基础,学6个月嵌入式,能找到工作吗?

今天看到一个老铁问&#xff0c;他报了个班&#xff0c;学6个月&#xff0c;学完能找到工作吗&#xff1f; 我看了下他的学习内容&#xff0c;包含C语言、数据结构、系统编程、网络编程、STM32、RTOS、物联网通讯协议、Linux内核驱动&#xff0c;这是大纲&#xff0c;细节的课程…

前端算法之插入排序

3、插入排序&#xff08;Insertion Sort&#xff09; 插入排序&#xff08;Insertion-Sort&#xff09;的算法描述是一种简单直观的排序算法。它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入…

AIOPS:Zabbix结合讯飞星火做自动化告警+邮件通知并基于人工智能提供解决方案

目前Zabbix官方已经提供Zabbix+ChatGPT的解决方案 ChatGPT一周年,你充分利用了吗?Zabbix+ChatGPT,轻松化解告警! 但是由于需要魔法等其他因素,比较不稳定,遂决定使用国内模型,这里我挑选的是讯飞星火,基于我之前的文档,在此基础上通过Zabbix的告警脚本实现调用AI模型…

Sora的核心技术预测

在ChatGPT火爆全网的一年后&#xff0c;OpenAI公司又一次大显身手&#xff1a;推出了全新的文生视频大模型Sora。直接输入文字提示词&#xff0c;即可直接生成长达60秒的视频。 “现实真的要不存在了。” 马斯克直接大呼&#xff1a;人类彻底完蛋了&#xff01; 马斯克为什么…

面试题之——事务失效的八大情况

事务失效的八大情况 一、非public修饰的方法 Transactional注解只能在在public修饰的方法下使用。 /*** 私有方法上的注解&#xff0c;不生效&#xff08;因私有方法Spring扫描不到该方法&#xff0c;所以无法生成代理&#xff09;*/ Transactional private boolean test() …

每日学习总结20240308

每日总结 20240305 常用控件 QPushButton&#xff08;按钮&#xff09;&#xff1a;用于触发操作或响应用户点击事件。QLabel&#xff08;标签&#xff09;&#xff1a;用于显示文本或图像。QLineEdit&#xff08;行编辑器&#xff09;&#xff1a;单行文本输入框&#xff0…

编写线程安全代码的核心是管理对状态的访问,尤其是对共享、可变状态的访问

编写线程安全代码的核心是管理对状态的访问&#xff0c;尤其是对共享、可变状态的访问。 Writing thread-safe code is, at its core, about managing access to state, and in particular to shared, mutable state. 一、ExecutorService使用中execute&#xff08;&#xff…

华为OD机试真题-测试用例执行计划

测试用例执行计划 题目描述&#xff1a; 某个产品当前迭代周期内有N个特性({F1,F2,...,FN})需要进行覆盖测试&#xff0c;每个特性都被评估了对应的优先级&#xff0c;特性使用其ID作为下标进行标识。 设计了M个测试用例({T1,T2,...,TM})&#xff0c;每个用例对应了一个覆盖特…

48、兰州大学、青海师范:专门用于深度CNNs的天阶斗技-ELA Local Attention

本文由兰州大学信息科学与工程学院、青海省物联网重点实验室、青海师范大学于2024年3.2日发表于ArXiv。为了解决现有的注意力模型在有效利用空间信息方面存在的限制和困难&#xff0c;提出了一种高效的局部注意力ELA模型。该方法通过分析坐标注意力的局限性&#xff0c;作者识别…

使用Lerna + Yarn Workspace管理Monorepo项目

1.前言 通常&#xff0c;我们会根据自身业务的实际情况&#xff0c;将通用的组件、逻辑等提取成NPM包&#xff0c;方便以后复用。但这些提取出来的NPM包可能互相之间存在依赖&#xff0c;如果仍然采用 Multirepo 的形式进行管理&#xff0c;则在包的版本管理、依赖管理、调试等…

项目解决方案:多地5G蓄能电站的视频监控联网系统设计方案

目 录 一、前言 二、系统架构设计 1、系统架构设计说明 2、系统拓扑图 三、关键技术 1. 5G支持技术 2. 视频图像处理技术 3. 数据融合与分析技术 四、功能特点 1. 高效可靠 2. 实时监测 3. 远程控制 4. 故障预测 五、应用前景 一、前言 随着能源…

C++泛型实现搜索二叉树

文章目录 二叉搜索树查找插入删除实现应用性能分析 二叉搜索树 二叉搜索树&#xff08;BST&#xff0c;Binary Search Tree&#xff09;又称为二叉排序树&#xff0c;空树也算 二叉搜索树有如下性质 若左子树不为空&#xff0c;则左子树上所有节点值小于根节点若右子树不为空…