C++ | 认识标准库string和vector

news2024/10/5 17:16:35

本文概要

  本篇文章主要介绍C++的标准库类型stringvector,文中描述和代码示例很详细,看完即可掌握,感兴趣的小伙伴快来一起学习吧。

🌟🌟🌟个人简介 🌟🌟🌟

☀️大家好!我是新人博主朦胧的雨梦,希望大家多多关照和支持😝😝😝
🌖大家一起努力,共同成长,相信我们都会遇到更好的自己👊👊👊
🌗期待我的文章能给各位带来收获和解决问题的灵感🤩🤩🤩
🌟大家的三连是我不断更新的动力~😘😘😘

本文纲领

  • 本文概要
  • 🌟🌟🌟个人简介 🌟🌟🌟
  • ✨✨✨学习目标✨✨✨
  • 🌲一.认识标准库类型
    •   🌲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_t
	unsigned __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,应该输出1111160
	v.push_back(60);
	for (auto i : v)
	{
		cout << i;
	}
	
	return 0;
}

  

🌲六.结语

  这两个标准库类型是C++的抽象数据类型库,相对于内置数组,其灵活性较高,好了,今天就分享到这里,谢谢大家的观看,有什么想法记得评论区告诉我!拜拜~✨ ✨ ✨

💫往期好文推荐

  

  TOP🥇.Python | Python的自我介绍(前世今生)🏆🏆🏆综合热榜前十五🏆🏆🏆❤️❤️❤️

  TOP🥈.Python爬虫 | 利用python爬虫获取想要搜索的数据(某du)🏆🏆🏆❤️❤️❤️

  TOP🥉.Python | 带你玩转Python的各种文件操作❤️❤️❤️🏆🏆🏆❤️❤️❤️
  
  
在这里插入图片描述

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

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

相关文章

stable diffusion安装从0到1总结:包括遇到的坑和步骤

注&#xff1a;最低电脑配置&#xff1a;8G Vram16G RAM30G磁盘空间以上&#xff0c;20系列显卡及以上&#xff0c;windows>linux>macos。 文件可以不放在系统盘。举个例子&#xff1a;安装在D盘&#xff0c;在D盘创建一个StableDiffusion文件夹。下载下面文件: 1.下载…

为什么实现 API 最佳实践需要重新考虑安全性

随着应用程序编程接口 (API) 的使用与日俱增&#xff0c;实现和维护有效安全性的挑战从未像现在这样大。 由于缺乏管理 API 的单一标准&#xff0c;这意味着团队不能仅依靠工具来解决安全问题&#xff0c;因此这一挑战变得更加严峻。没有任何一种产品可以解决 API 环境的每种…

pg编码相关问题梳理

Lightdb/PG 编码相关问题梳理 之前在通过SQL文件导入数据时&#xff0c;报&#xff1a;ERROR: invalid byte sequence for encoding "EUC_CN"错误。然后就梳理了一下编码相关问题&#xff0c;这边记录一下。涉及到如下两种类型的报错&#xff1a; ERROR: invalid b…

电脑如何还原系统?这样做可以快速解决!

案例&#xff1a;我的电脑系统出问题了&#xff0c;怎么还原&#xff1f; 【我的电脑用了好几年了&#xff0c;最近它的系统出现了一些问题&#xff0c;我想还原电脑系统。有没有知道电脑系统如何还原&#xff1f;蹲一个简单的解决方法&#xff01;】 随着电脑使用时间的增加…

面试华为,花了2个月才上岸,真的难呀····

花2个月时间面试一家公司&#xff0c;你们觉得值吗&#xff1f; 背景介绍 美本计算机专业&#xff0c;代码能力一般&#xff0c;之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发&#xff0c;第二份实习由于大三暑假回国的时间比…

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 修改文件名 引入 当多个开发者同时参与同一个…

(一)Jhipster的基本介绍及入门安装

目录 1、为什么要使用 Jhipster &#xff1f; 2、安装配置 3、安装Jhipster 4、基本使用 5、介绍一下JDL Studio 6、启动 Jhipster 搭建项目 1、为什么要使用 Jhipster &#xff1f; JHipster是一个开发平台&#xff0c;可以快速生成、开发和部署现代Web应用程序和微服务…

分享几个自动化测试的练手项目

学习自动化测试最难的是没有合适的项目练习。 测试本身既要讲究科学&#xff0c;又有艺术成分&#xff0c;单单学几个 api 的调用很难应付工作中具体的问题。 你得知道什么场景下需要添加显性等待&#xff0c;什么时候元素定位需要写得更加优雅&#xff0c;为什么需要断言这个…

CANoe使用记录(四):CANoe Graphics图形窗口

目录 1、概述 2、Graphics图形窗口 2.1、打开测量窗口&#xff08;回放Log&#xff09; 2.2、输出Log 2.3、添加解析DBC文件 2.4、窗口排列 2.5、添加Graphics窗口 2.6、 信号栏选择 2.7、添加信号 2.8、波形样式 2.9、单Y轴测量尺 2.10、多Y轴测量尺 2.11、数据隐…

10行Python代码,助你整理杂乱无章的文件

朋友们好&#xff0c;今天是周五&#xff0c;又到了快放假的时间&#xff0c;激不激动&#xff1f;高不高兴&#xff1f;但是我还是要继续分享 Python 小工具给大家&#xff0c;嘻嘻~~ 今天的小程序&#xff0c;可以一键完成文件整理&#xff0c;一起来看看吧&#xff01; 按…

API 接口主流协议有哪些? 如何创建不同协议?

API 接口协议繁多&#xff0c;不同的协议有着不同的使用场景。70% 互联网应用开发者日常仅会接触到最通用的 HTTP 协议&#xff0c;相信大家希望了解更多其他协议的信息。我们今天会给大家介绍各种 API 接口主流协议和他们之间的关系。 1、API 接口主流协议有哪些? 接口协议分…

java环境安装 以jdk1.8 tomcat8为例

1、选择相应版本下载 官网地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/index.html 2、下载后一直点击下一步就好了ps&#xff1a;路径不喜欢安装在C盘的可以选择其他盘符&#xff0c;但是一定要自己找的到安装路径。 3、选择路径安装jdk1.8 4、…

Java基础(十六):String的常用API

Java基础系列文章 Java基础(一)&#xff1a;语言概述 Java基础(二)&#xff1a;原码、反码、补码及进制之间的运算 Java基础(三)&#xff1a;数据类型与进制 Java基础(四)&#xff1a;逻辑运算符和位运算符 Java基础(五)&#xff1a;流程控制语句 Java基础(六)&#xff1…

Serilog介绍

SerilogSerilogSerilog是.net 下的新兴的日志框架&#xff0c;本文这里简单的介绍一下它的用法。 首先安装Nuget包&#xff1a; Install-Package SerilogInstall-Package Serilog.Sinks.Console 其中包Serilog是Log核心库&#xff0c;Serilog.Sinks.Console是Log的控制台输出…

云安全问题及其解决方案

随着云计算技术的快速发展&#xff0c;云计算已经成为了企业和个人的首选。云计算在提高了企业的效率和降低了成本的同时&#xff0c;也带来了一系列的安全问题。本篇博客将深入讨论云安全问题&#xff0c;并提出相应的解决方案&#xff0c;以帮助企业和个人更好地保护自己的云…

【C++学习笔记】对象的特性

深拷贝与浅拷贝 浅拷贝&#xff1a;简单的赋值拷贝操作 深拷贝&#xff1a;在堆区重新申请空间&#xff0c;进行拷贝 利用编译器提供的拷贝构造函数&#xff0c;会做浅拷贝操作&#xff1b;会导致堆区的内存重复释放 ![[Pasted image 20221216213144.png]] 解决方法&#xff…

Qt/QML编程学习之心得:跨平台(一)

Qt作为Cross-platform的一种开发语言,在GUI界面设计上俘获了大批开发者。 Qt很年轻但是也不年轻,看下它创作公司的历史就知道了: › 1994: Troll Tech. First public release in 1995 › 2008: Nokia acquires Troll Tech › 2012: Digia buys Qt from Nokia › 01.05.2016:…

有反爬机制就爬不了吗?那是你还不知道反反爬,道高一尺魔高一丈啊

文章目录 一、从用户请求的Headers反爬虫二、基于用户行为反爬虫&#xff08;1&#xff09;方法1&#xff08;2&#xff09;方法2 三、动态页面的反爬虫四.总结 不知道你们在用爬虫爬数据的时候是否有发现&#xff0c;越来越多的网站都有自己的反爬机制&#xff0c;抓取数据已经…

Cloud Storage .NET Crack

Cloud Storage .NET Crack 现在包括对Microsoft SharePoint Online的支持。 用于与流行的云存储库集成的存储组件。 云存储使您可以轻松地从任何受支持的平台或开发技术集成基于云的文件存储。这些易于使用的组件可用于与流行的云存储提供商集成&#xff0c;如Amazon S3、Googl…

ESP32使用ESP-NOW协议实现一对多通信和MAC地址存储

目录 介绍ESP-NOW 协议概述在 ESP32 上配置 ESP-NOW使用 ESP-NOW 进行一对多通信在 ESP32 上存储发件人的 MAC 地址代码结论 介绍 ESP32 是一款功能强大的 Wi-Fi 和蓝牙双模模块&#xff0c;可用于使用 ESP-NOW 协议实现低功耗、高效率的一对多通信。本文将介绍如何使用ESP-NO…