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被用作开发人员的平台…...
OpCore Simplify:终极指南!让黑苹果配置从8小时缩短到45分钟的自动化神器
OpCore Simplify:终极指南!让黑苹果配置从8小时缩短到45分钟的自动化神器 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在…...
AI驱动关键词优化的SEO未来趋势与实际应用解析
本文旨在探讨AI在搜索引擎优化(SEO),特别是关键词优化领域的重要角色。文章分析了AI技术如何通过数据分析和用户行为洞察,帮助企业制定更加有效的关键词策略。AI能够实时监测市场趋势,识别用户意图,并根据这…...
开源电池管理系统:SmartBMS的技术创新与实践应用
开源电池管理系统:SmartBMS的技术创新与实践应用 【免费下载链接】SmartBMS Open source Smart Battery Management System 项目地址: https://gitcode.com/gh_mirrors/smar/SmartBMS SmartBMS是一套开源智能电池管理系统,专为锂离子电池组&#…...
3.25 复试练习
OJ改错填空strcpy--strcpy(dest, src); // 将src复制到deststrcmp--strcmp(s1, s2);返回值含义0两个字符串相等> 0s1 大于 s2< 0s1 小于 s2矩阵质因数问题描述将一个正整数N(1<N<32768)分解质因数。例如,输入90,打印出902*3*3*5。输入说明输…...
如何突破Windows权限壁垒?系统管理专家的秘密武器
如何突破Windows权限壁垒?系统管理专家的秘密武器 【免费下载链接】NSudo [Deprecated, work in progress alternative: https://github.com/M2Team/NanaRun] Series of System Administration Tools 项目地址: https://gitcode.com/gh_mirrors/ns/NSudo 在W…...
5分钟搞定OpenClaw+GLM-4.7-Flash:星图平台一键部署体验
5分钟搞定OpenClawGLM-4.7-Flash:星图平台一键部署体验 1. 为什么选择云端部署OpenClaw 作为一个长期折腾本地AI部署的技术爱好者,我深知在个人电脑上配置OpenClaw的痛处。从Node.js版本冲突到模型权重下载失败,再到各种依赖库缺失…...
nli-distilroberta-base惊艳案例:自动识别合同补充协议与主协议的潜在矛盾条款
nli-distilroberta-base惊艳案例:自动识别合同补充协议与主协议的潜在矛盾条款 1. 项目概述 在合同审查工作中,补充协议与主协议之间的条款一致性检查是法律从业者最头疼的问题之一。传统的人工比对方式不仅耗时费力,还容易遗漏关键矛盾点。…...
智慧生鲜配送:揭秘生鲜配送商城APP功能版块设计
在数字化消费浪潮中,生鲜配送商城APP成为居民采购食材的重要渠道。其功能版块设计聚焦用户需求,通过智能化、便捷化的操作体验,打造高效生鲜购物场景。以下揭秘其核心功能玩法,解析如何实现“从指尖到餐桌”的流畅服务。一、首页&…...
XC6206-1.8V是什么?有哪些作用?
本文主要介绍XC6206-1.8V是什么?有哪些作用?XC6206-1.8V是一款超低功耗、高精度的固定输出低压差线性稳压器(LDO),核心作用是把较高电压转换成稳定的1.8V输出,专门为电池供电和低功耗设备设计。图文来源&am…...
Qwen3.5-35B-A3B-AWQ-4bit镜像技术亮点:服务重启自动恢复+模型热加载+无状态前端设计
Qwen3.5-35B-A3B-AWQ-4bit镜像技术亮点:服务重启自动恢复模型热加载无状态前端设计 1. 平台核心能力介绍 Qwen3.5-35B-A3B-AWQ-4bit是一款专为视觉多模态理解设计的量化模型,它将强大的图文理解能力与高效的部署特性完美结合。这个模型特别适合需要分析…...
