c++ vector如何使用 c++ vector方法攻略教程总结

下面是关于c++ vector的使用攻略总结:

c++ vector如何使用

什么是c++ vector

在c++中,vector是STL中提供的一种动态数组容器。vector可以在运行时自由增加或减少其元素数量,具有以下特点:

  • 支持随机访问

  • 内存位置连续

  • 支持快速插入和删除元素

  • 支持在尾部添加元素

vector的基本操作

声明和初始化

声明vector需要使用向量模板类,使用时需要包含头文件。以下是声明和初始化vector的常用方式:

#include <vector>
using namespace std;

vector<int> v;  //声明一个int类型的vector v
vector<int> v1(5); //声明一个初始大小为5的int类型的vector v1
vector<int> v2(5, 0); //声明一个初始大小为5且初始值均为0的int类型的vector v2
vector<int> v3{1, 2, 3, 4, 5}; //用初始列表初始化声明一个int类型的vector v3
vector<int> v4(v3); //声明一个和v3一样的int类型的vector v4

增加元素

使用push_back()函数可以在vector的尾部添加元素。以下是增加元素的示例:

vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);

删除元素

使用erase()函数可以在vector中删除一个元素或者一段元素。以下是删除元素的示例:

vector<int> v{1, 2, 3, 4, 5};
v.erase(v.begin() + 2); //删除第3个元素,即3
v.erase(v.begin() + 1, v.end() - 1); //删除第2到第4个元素,即2、4

修改元素

vector支持随机访问,可以使用下标运算符或at()函数访问指定位置的元素。以下是修改元素的示例:

vector<int> v{1, 2, 3, 4, 5};
v[2] = 10; //将第3个元素修改为10
v.at(4) = 20; //将第5个元素修改为20

访问元素

vector支持随机访问,可以使用下标运算符或at()函数访问指定位置的元素。以下是访问元素的示例:

vector<int> v{1, 2, 3, 4, 5};
int a = v[2]; //访问第3个元素,即3
int b = v.at(4); //访问第5个元素,即5

vector的高级用法

迭代器

迭代器是STL中的一种通用访问方式,vector也可以使用迭代器访问其中的元素。以下是使用迭代器访问vector中元素的示例:

vector<int> v{1, 2, 3, 4, 5};
for (vector<int>::iterator it = v.begin(); it != v.end(); it++) {
    cout << *it << endl; //输出vector中的元素
}

操作符重载

尽管vector是一个模板类,但是它同样可以支持操作符重载。以下是实现vector加法操作的示例:

vector<int> operator +(const vector<int>& v1, const vector<int>& v2) {
    vector<int> res;
    int n = v1.size();
    for (int i = 0; i < n; i++) {
        res.push_back(v1[i] + v2[i]);
    }
    return res;
}

int main() {
    vector<int> v1{1, 2, 3};
    vector<int> v2{4, 5, 6};
    vector<int> v3 = v1 + v2;
    for (int i = 0; i < v3.size(); i++) {
        cout << v3[i] << " "; //输出7 9 11
    }
    return 0;
}

以上是关于c++ vector的使用攻略总结,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c++ vector如何使用 c++ vector方法攻略教程总结 - Python技术站

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

相关文章

  • 批处理入门手册之批处理常用DOS命令篇(attrib、del、copy、xcopy)

    当我们学习使用批处理时,了解批处理常用的DOS命令是非常必要的。本篇文章将会详细介绍attrib、del、copy和xcopy这四个DOS命令的用法,同时也给出了一些实际的示例。 attrib命令 attrib命令用于显示或修改文件的属性,包括文件的只读、系统、隐藏和存档等属性。以下是常用的attrib命令选项: /S:对指定目录及其子目录中的文件进行操作 …

    other 2023年6月26日
    00
  • Android如何实现时间线效果(下)

    标题: Android如何实现时间线效果(下) 正文:本文是Android如何实现时间线效果的下篇文章。 一、实现原理 本篇文章会针对上篇文章的时间线效果基础进行进一步完善。主要思路是通过RecyclerView来实现数据的绑定和动态的添加,通过ItemDecoration实现时间轴效果的绘制,通过LayoutManager实现数据的布局。主要的步骤包括以下…

    other 2023年6月27日
    00
  • c++——引用reference

    以下是关于“C++ 引用(reference)”的完整攻略: 什么是引用(reference)? 引用是C++中的一种数据类型,它提供了一种简单的方法来访问其他变量的值。引用是一个别名,它指向另一个变量的地址,可以用来修改该变量的值。 引用的语法 引用的语法如下: type &ref = var; 其中,type是变量的类型,ref是引用的名称,va…

    other 2023年5月6日
    00
  • PHP入门教程之面向对象的特性分析(继承,多态,接口,抽象类,抽象方法等)

    PHP入门教程之面向对象的特性分析 在PHP中,面向对象是非常重要的编程范式,现在我们来学习一下面向对象的几个重要特性:继承、多态、接口、抽象类、抽象方法。 继承 继承是面向对象程序设计中的一个重要特性,它允许一个类继承另一个类的公有和保护的成员属性和成员方法。子类继承父类的时候,可以直接使用父类的方法和属性。在PHP中,可以使用以下的语法来实现继承: cl…

    other 2023年6月27日
    00
  • 详解Go语言中的作用域和变量隐藏

    详解Go语言中的作用域和变量隐藏 在Go语言中,作用域和变量隐藏是非常重要的概念。作用域定义了变量的可见性和访问范围,而变量隐藏则允许在不同的作用域中定义同名的变量。 作用域 作用域是指变量在程序中可见和可访问的范围。在Go语言中,有以下几种作用域: 全局作用域:全局作用域是指在函数体外部定义的变量,它们在整个程序中都可见和可访问。 局部作用域:局部作用域是…

    other 2023年7月29日
    00
  • vue报表开发

    Vue报表开发 随着互联网的发展,数据分析和数据可视化变得愈发重要,作为前端开发者,我们需要快速、高效地开发出精美的报表界面来满足用户需求。Vue作为一款优秀的前端框架,具有极高的灵活性和扩展性,这使得它成为开发报表的最佳选择。 Vue报表框架推荐 市面上出现了很多优秀的Vue报表框架,例如: ECharts AntV G2 BizCharts 以上三种报表…

    其他 2023年3月29日
    00
  • nginx正则匹配

    以下是关于“nginx正则匹配”的完整攻略: nginx简介 nginx是一款高性能的Web服务器和反向代理服务器,它可以处理高并发请求,支持多种协议和编程语言。nginx的配置文件采用类似于C语言的语法,支持正则表达式匹配。 nginx正则匹配 nginx的正则表达式匹配采用PCRE(Perl Compatible Regular Expressions)…

    other 2023年5月9日
    00
  • Vue实现登录记住账号密码功能的思路与过程

    下面我将详细讲解Vue实现登录记住账号密码功能的思路与过程: 思路 首先需要在登录页面添加复选框选项,用于用户选择是否记住账号密码; 用户选中复选框后,将用户输入的账号密码存储到本地存储中; 页面加载时从本地存储中读取账号密码,并自动填充到输入框中,如果用户未选择记住账号密码,则不进行自动填充; 当用户点击登录按钮时,先判断是否选择了记住账号密码,如果是则将…

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