初识C++ Vector模板与实例化原理

yizhihongxing

初识C++ Vector模板与实例化原理

什么是Vector模板

Vector是C++ STL库提供的一种数据结构,是动态数组的一个实现。它可以在运行时动态调整容器大小,并且可以快速随机访问元素。

在C++里,vector是一个模板类,可以存储任意类型的元素。

vector模板的实例化

Vector是一个模板,需要在使用前被实例化,并且实例化时需要指定数据类型,例如:

vector<int> vecInt;    // 实例化一个空的int类型的vector
vector<string> vecStr; // 实例化一个空的string类型的vector

Vector模板的基本操作

插入和删除元素

vecInt.push_back(3);     // 在vector尾部插入元素3
vecInt.insert(0, 2);     // 在vector下标0插入元素2
vecInt.pop_back();       // 删除vector尾部元素
vecInt.erase(0);         // 删除vector下标0的元素

访问元素

int num = vecInt[0];     // 访问下标0的元素
int size = vecInt.size(); // 返回vector包含元素的数量

迭代器操作

vector<int>::iterator itor = vecInt.begin(); // 返回vector的起始迭代器
vector<int>::iterator itorEnd = vecInt.end(); // 返回vector的终止迭代器

for(itor;itor!=itorEnd;itor++) //遍历整个vector
{
    cout<<*itor<<endl;
}

int num2 = *(vecInt.begin() + 2); // 通过迭代器访问vector中的元素

示例1:使用Vector模板实现斐波那契数列

vector<int> Fibonacci;
Fibonacci.push_back(0);
Fibonacci.push_back(1);
for (int i = 2; i < 10; i++)
{
   Fibonacci.push_back(Fibonacci[i - 1] + Fibonacci[i - 2]);
}

示例2:使用Vector模板实现字符串逆序

string str = "hello world";
vector<char> vecStr(str.begin(), str.end());
reverse(vecStr.begin(), vecStr.end());
string result(vecStr.begin(), vecStr.end());
cout<<result<<endl;

以上就是初识C++ Vector模板与实例化原理的攻略,希望可以帮助大家更好地应用Vector模板。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:初识C++ Vector模板与实例化原理 - Python技术站

(0)
上一篇 2023年6月26日
下一篇 2023年6月26日

相关文章

  • 懒加载实现的分页&&网站footer自适应

    下面分别介绍懒加载实现的分页和网站footer自适应的攻略。 懒加载实现的分页 懒加载可以提高网站的加载速度,而分页则是一个常用的分隔大量数据的方式,懒加载实现的分页可以使网站看起来更加流畅。以下是懒加载实现的分页攻略: 1. 实现分页 首先,我们需要在后端实现分页。具体来说,我们可以使用ORM框架实现分页功能。例如使用Django框架,则可以使用Pagin…

    other 2023年6月25日
    00
  • Win10系统开机后黑屏需强制关机再重启才能进入系统的故障原因及解决方法

    故障原因分析 出现Win10系统开机后黑屏需强制关机再重启才能进入系统的故障,一般会有以下几种原因: 1. 硬件问题 可能是硬盘、内存、显卡等硬件出现问题,导致系统无法正常启动显示,造成黑屏现象。 解决方法:建议用硬件检测工具进行检测,排查出故障硬件,进行更换或修复。例如使用Memtest86检测内存或使用硬盘检测工具检测硬盘问题。 2. 病毒感染 可能是系…

    other 2023年6月27日
    00
  • Python中的作用域规则详解

    Python中的作用域规则详解 在Python中,作用域是指变量的可访问性和可见性范围。了解Python中的作用域规则对于正确理解变量的作用范围和生命周期非常重要。本攻略将详细介绍Python中的作用域规则。 1. 全局作用域 全局作用域是指在整个程序中都可访问的变量。在Python中,全局作用域可以在任何函数内部访问,但需要使用global关键字声明。 示…

    other 2023年8月19日
    00
  • window关闭端口的方法(445/135/137/138/139/3389等)

    以下是“Windows关闭端口的方法(445/135/137/138/139/3389等)”的完整攻略,包括过程中的两个示例说明。 Windows关闭端口的方法 在Windows系统中,有一些端是常见的攻击目标,例如445、135、137、138、139、3389等端口。为了保护系统安全,我们需要关闭这些端口。以下是一份关于Windows关闭端口的方法的攻略…

    other 2023年5月10日
    00
  • Moqui简介

    Moqui简介 Moqui是一款开源商业管理软件,可以帮助企业识别其业务关键任务并自动化实现这些任务。它由Java编程语言开发而成,可以运行在多种操作系统上,例如Windows、Linux等。 Moqui功能特性 Moqui提供了许多有用的功能,包括: 商业流程管理:自动化企业流程管理,包括流程图设计、任务分配、自动化决策和生成报表等; 企业资源计划(ERP…

    其他 2023年3月28日
    00
  • ThinkPHP3.1.2 使用cli命令行模式运行的方法

    以下是详细讲解ThinkPHP 3.1.2使用cli命令行模式运行的方法的完整攻略。 什么是CLI命令行模式? CLI是Command Line Interface的缩写,指的是命令行界面,也就是在终端(Terminal)中输入指令并执行的模式。CLI常用于自动化任务、批处理等场景。 ThinkPHP 3.1.2 CLI命令行模式的使用方法 前置条件 安装启…

    other 2023年6月26日
    00
  • Android使用VideoView播放本地视频和网络视频的方法

    Android使用VideoView播放本地视频和网络视频的方法 在Android开发中,可以使用VideoView来播放本地视频和网络视频。下面是详细的攻略,包含两个示例说明。 播放本地视频 要播放本地视频,需要将视频文件放置在Android设备的存储中,并使用VideoView来加载和播放视频。 将视频文件放置在res/raw目录下,或者将视频文件复制到…

    other 2023年8月21日
    00
  • 细说FAT16与FAT32区别

    细说FAT16与FAT32区别 一、概述 在储存数据时,我们常常会使用FAT16和FAT32这两种文件系统。虽然它们都是FAT格式,但它们之间确实存在一些细微的区别。FAT16是早期文件系统,在磁盘大小小于2GB的时候非常流行,而FAT32则是后来开发的更现代的文件系统,它支持更大的磁盘大小。 二、区别 下面是FAT16和FAT32的主要区别: 1. 簇大小…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部