C++ | 认识标准库string和vector
本文概要
本篇文章主要介绍C++的标准库类型string和vector,文中描述和代码示例很详细,看完即可掌握,感兴趣的小伙伴快来一起学习吧。
🌟🌟🌟个人简介 🌟🌟🌟
☀️大家好!我是新人博主朦胧的雨梦,希望大家多多关照和支持😝😝😝
🌖大家一起努力,共同成长,相信我们都会遇到更好的自己👊👊👊
🌗期待我的文章能给各位带来收获和解决问题的灵感🤩🤩🤩
🌟大家的三连是我不断更新的动力~😘😘😘
本文纲领
- 本文概要
- 🌟🌟🌟个人简介 🌟🌟🌟
- ✨✨✨学习目标✨✨✨
- 🌲一.认识标准库类型
- 🌲1.标准库类型string
- 🌲2.标准库类型vector
- 🌲二.定义对象
- 🌲1.定义string对象
- 🌲2.定义vector对象
- 🌲三.初始化对象
- 🌲1.初始化string对象
- 🌲2.初始化vector对象
- 🌲四.操作对象
- 🌲1.string对象操作
- 🌲2.vector对象操作
- 🌲六.结语
- 💫往期好文推荐
✨✨✨学习目标✨✨✨
一、学会定义和初始化 string、vector对象;
二、掌握 string、vector对象的操作;
🌲一.认识标准库类型
🌲1.标准库类型string
标准库类型string表示可变长的字符串序列,简单说就是用来处理字符串的相关内容,使用的时候必须包含头文件#include<string>。
🌲2.标准库类型vector
标准库类型vector表示对象的集合,所有对象类型相同,每一个对象对应一个索引(可以理解为序号),使用的时候必须包含头文件#include<vector>。
🌲二.定义对象
🌲1.定义string对象
定义形式:string 变量名称;(默认为空字符串)。
🌲2.定义vector对象
定义形式:vector<对象类型> 变量名称;(类型为基本内置类型,复合类型,类类型,甚至是vector,但是不能是引用)。
🌲三.初始化对象
🌲1.初始化string对象
初始化类型 | 解释 |
---|---|
string s1 | 默认初始化,s1是一个空字符串 |
string s1(s2) | s1是s2的副本 |
string s1 = s2 | 等价s1(s2) |
string s1(“value”) | 字面值"value"是s1的副本 |
string s1(n,‘c’) | 将s1初始化为由连续n个‘c’组成的字符串 |
🌲2.初始化vector对象
初始化类型 | 解释 |
---|---|
vector v1 | 默认初始化,v1是一个空vector,元素类型是T |
vector v1(v2) | v1中包含v2所有元素的副本 |
vector v1 = v2 | 等价v1(v2) |
vector v1 (n,“value”) | 包含n个元素,每个元素字面值为"value" |
vector v1 {a,b,c…} | 将v1初始化为初始值个数的元素,每个元素赋予相应的初始值 |
🌲四.操作对象
🌲1.string对象操作
操作方法 | 作用 |
---|---|
getline(s1,s) | 读取s1中的一行赋值给s,返回s1,参数(输入流,string对象) |
代码展示
:
#include<iostream>
#include<string>
using namespace std;
int main()
{//默认定义为一个空串string s1;//读入一行遇到换行符停止getline(cin, s1);cout << s1 << endl;return 0;
}
操作方法 | 作用 |
---|---|
v.empty() | v为空串返回真,否则为假 |
代码展示
:
#include<iostream>
#include<string>
using namespace std;
int main()
{//默认定义为一个空串string s1;//读入一行遇到换行符停止getline(cin, s1);//判断是否为空串,a = 1,空,a = 0,不为空bool a = s1.empty();cout << a << endl;return 0;
}
操作方法 | 作用 |
---|---|
v.size() | 返回v中的字符个数 |
代码展示
:
#include<iostream>
#include<string>
using namespace std;
int main()
{//默认定义为一个空串string s1;//读入一行遇到换行符停止getline(cin, s1);//返回的数据类型为size_tunsigned __int64 a = s1.size();cout << a << endl;return 0;
}
🌲2.vector对象操作
vector对象操作也包括v.empty()和v.size(),作用与string一致;
操作方法 | 作用 |
---|---|
v.push_back(t) | 向V的尾端添加一个为t值的元素 |
代码展示
:
#include<iostream>
#include<vector>
using namespace std;
int main()
{//定义一个初始化为int类型元素5个1的容器vector<int> v(5,1);//尾部加入60,应该输出1111160v.push_back(60);for (auto i : v){cout << i;}return 0;
}
🌲六.结语
这两个标准库类型是C++的抽象数据类型库,相对于内置数组,其灵活性较高,好了,今天就分享到这里,谢谢大家的观看,有什么想法记得评论区告诉我!拜拜~✨ ✨ ✨
💫往期好文推荐
TOP🥇.Python | Python的自我介绍(前世今生)🏆🏆🏆综合热榜前十五🏆🏆🏆❤️❤️❤️
TOP🥈.Python爬虫 | 利用python爬虫获取想要搜索的数据(某du)🏆🏆🏆❤️❤️❤️
TOP🥉.Python | 带你玩转Python的各种文件操作❤️❤️❤️🏆🏆🏆❤️❤️❤️
相关文章:

C++ | 认识标准库string和vector
本文概要 本篇文章主要介绍C的标准库类型string和vector,文中描述和代码示例很详细,看完即可掌握,感兴趣的小伙伴快来一起学习吧。 🌟🌟🌟个人简介 🌟🌟🌟 ☀️大家好&a…...
JAVA面试宝典: SpringCloud知识点(通俗易懂易背)
1、什么是 Spring Cloud? Spring Cloud 是基于 Spring Boot 的微服务架构开发工具箱,提供了在分布式系统中构建可靠的、弹性的、灵活的应用所需的大多数工具。Spring Cloud 中包含的子项目如下: Spring Cloud Config:配置管理工具…...
es学习笔记
集群环境下数据往哪个节点放? 路由计算:hash(id) %主分片的数量 集群环境下查数据怎么查? 分配控制:访问任何一个节点都能获取数据,随机访问到的这个节点称为协调节点(访问了当前节点,不一定从当前节点…...

SAS学习第9章:卡方检验之适合性检验与独立性检验
卡方检验就是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时…...

马斯克爆料Twitter裁了八成员工;OpenAI CEO:GPT-5根本不存在;小鹏被曝年终奖打0.5折 | AI一周资讯
来源: AI前线 微信号:ai-front 整理 | 凌敏 微软宣布开源 Deep Speed Chat;消息称软银旗下 Arm 启动赴美 IPO;国家网信办出台生成式 AI 管理办法;前理想 AI 芯片一号位骄旸加入三星,负责组建 GPU 团队…… 资 讯 Op…...

ASEMI代理ADG1408YRUZ-REEL7原装ADI车规级ADG1408YRUZ-REEL7
编辑:ll ASEMI代理ADG1408YRUZ-REEL7原装ADI车规级ADG1408YRUZ-REEL7 型号:ADG1408YRUZ-REEL7 品牌:ADI /亚德诺 封装:TSSOP-16 批号:2023 安装类型:表面贴装型 引脚数量:16 类型&#…...

phpstudy本地环境搭建图文教程
作者:Eason_LYC 悲观者预言失败,十言九中。 乐观者创造奇迹,一次即可。 一个人的价值,在于他所拥有的。可以不学无术,但不能一无所有! 技术领域:WEB安全、网络攻防 关注WEB安全、网络攻防。我的…...

【UE 控件蓝图】菜单及功能实现
素材资源连接:百度网盘 请输入提取码 密码:fvcw 效果 步骤 1. 创建蓝图,父类为“HUD” 命名为“MainMenuHUD”并打开 在事件图表中添加如下节点: 2. 创建控件蓝图,命名为“MainMenuWidget” 此时在“MainMenuHUD”的…...

Java 并发编程面试题——Future
目录 1.什么是 Future 模式?Java 中是如何实现的?2.Callable、Future 与 FutureTask 分别是什么?2.1.Callable 接口2.2.Future 接口2.3.FutureTask 类 3.CompletableFuture 类有什么用? 1.什么是 Future 模式?Java 中是…...

SpringBoot 介绍
1.简介 SpringBoot最开始基于Spring4.0设计,是由Pivotal公司提供的框架。 SpringBoot发展史: 2003年Rod Johnson成立Interface公司,产品是SpringFramework2004年,Spring框架开源,公司改名为Spring Source2008年&…...
自动驾驶作业手册
1 总 则 目的为保障港口内自动驾驶车辆安全使用,预防和减少事故,保护人民生命和财产安全,促进港口内业务开展。 含义和范围港口内自动驾驶车辆,是指电脑驾驶车辆,为一种运输动力的无人地面载具,与有人驾驶车辆不同,其具备不需要人类操作即可以感测其环境及导航功能,能…...

MySQL调优笔记——慢SQL优化记录(2)
今天调优的原因是,有一个统计报表业务,查询的时间太慢;同时由于数据库的压力是随机性的,这个业务的执行下限和上限相差近20倍;快的时候可以达到600ms,慢的时候有9秒之多; 接下来详细介绍&#x…...
二叉排序树的插入和删除操作(python实现)
二叉排序树的插入和删除操作都是在保持二叉排序树特性的前提下进行的。 插入操作: 在二叉排序树中插入一个新节点时,先比较新节点的值和当前节点的值的大小关系,若小于当前节点,则继续在当前节点的左子树中查找;若大…...

算法记录 | Day35 贪心算法
860.柠檬水找零 思路: 只需要维护三种金额的数量,5,10和20。 有如下三种情况: 情况一:账单是5,直接收下。情况二:账单是10,消耗一个5,增加一个10情况三:账…...

coinex // 撮合引擎 逻辑流程 (两种数据源 初始化源和前端源)
目录 1 生产者 数据源 1.1. match-server 一启动 初始化数据 自动查询数据库 查询level2要展示的数据 1.2 match-server接收 前端发给Exchange-server的数据 2. 将查询/接受的数据EntrustOrder 转成 Order 解耦 过滤掉不要的属性 3.Order转成 OrderEvent 4. 分配序号发布…...

CentOS7---部署LNMP数据存储到redis
一、部署LNMP及redis 1、部署LNMP,需要将 tengine-2.2.0.tar.gz 拷贝到虚拟机的 /root 目录下 步骤一:安装nginx 源码安装相关软件包 # pcre-devel做正则匹配,zlib-devel做数据压缩 [roottemplate ~]# yum -y install gcc pcre-devel zlib-de…...

Linux中的git命令行
Linux中的git命令行 目录 Linux中的git命令行引入1、Linux下的git工具起源2、gitee的使用.gitignore.git 3、git三板斧3.1 git add3.2 git commit3.3 git push 4、git操作4.1 查看提交日志4.2 查看状态4.3 远端同步4.4 删除文件4.5 修改文件名 引入 当多个开发者同时参与同一个…...

【C++】哈希表:开散列和闭散列
📝 个人主页 :超人不会飞)📑 本文收录专栏:《C的修行之路》💭 如果本文对您有帮助,不妨点赞、收藏、关注支持博主,我们一起进步,共同成长! 目录 前言一、基于哈希表的两个…...
C技能树:Hello World
Hello World 输出 "Hello, World!" 字符串,请选出错误答案。 小知识:Hello World究竟从何而来? Hello, World最早是由 Brian Kernighan 创建的。1978年,Brian Kernighan写了一本名叫《C程序设计语言》的编程书,在程…...

TryHackMe-Set(Windows渗透测试 | WinDefender免杀)
Set 您再次发现自己在Windcorp公司的内部网络上。上次你去那里的味道真好,你回来了 了解更多。 但是,这次他们设法保护了域控制器,因此您需要找到另一台服务器,并在第一次扫描时发现“Set”。 Set被用作开发人员的平台…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...

关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...

STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...