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的使用攻略总结,希望对你有所帮助。

阅读剩余 58%

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

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

相关文章

  • C语言构建动态数组完整实例

    C语言构建动态数组完整实例攻略 动态数组是能够自动调整大小的数组,它能够根据需要自动增加或缩小自己的大小。在C语言中,可以通过手工分配内存来构建动态数组,而我们将在这篇文章中详细介绍如何构建动态数组的完整实例。 准备工作 在开始构建动态数组之前,你需要确保已经了解并掌握了以下几个关键的概念: 内存分配函数:malloc,calloc 和 realloc 指针…

    other 2023年6月25日
    00
  • 微信公众平台通用接口api指南

    以下是微信公众平台通用接口API指南的完整攻略,包含两个示例说明: 微信公众平台通用接口API概述 微信公众平台通用接口API是指微信公众平台提供的一组接口,用于开发者与微信公众平台进行交互。这些接口包括获取用户信息、发送消息、创建菜单、获取素材等功能。 微信公众平台通用接口API可以帮助开发者实现与微信公众平台的对接,实现自定义的业务逻辑和功能。 微信公众…

    other 2023年5月9日
    00
  • mac下使用brew安装java等应用

    以下是在Mac下使用brew安装Java等应用的完整攻略,包含两个示例: 步骤1:安装Homebrew Homebrew是Mac OS X的包管理器,可以方便地安装和管理各种软件包。您在终端中运行以下命令来安装Homebrew: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com…

    other 2023年5月6日
    00
  • win7下如何删除多余选项的右键新建菜单项

    下面是针对win7下如何删除多余选项的右键新建菜单项的攻略。 1. 打开注册表 在开始菜单里搜索 regedit,打开注册表编辑器。 2. 找到新建菜单项 在 HKEY_CLASSES_ROOT 搜索 Directory,点击选中 Directory,展开 shell 节点,找到 New 选项,点击选中。 3. 删除多余菜单项的右键 找到需要删除的菜单项的右…

    other 2023年6月27日
    00
  • 路由器之vpn应用与配置指南

    以下是关于路由器之VPN应用与配置指南的完整攻略: 什么是VPN? VPN(Virtual Private Network)是一种安全的网络连接方式,可以在公共网络上建立一个私有网络。VPN可以用于保护您的网络流量,使您的网络活动更加安全和私密。 为什么要在路由器上配置VPN? 在路由器上配置VPN可以使所有连接到该路由器的设备都受到VPN的保护。这意味着您…

    other 2023年5月6日
    00
  • hyper-v的安装及虚拟机安装超详细步骤

    Hyper-V的安装及虚拟机安装超详细步骤 Hyper-V是Windows操作系统中的一种虚拟化技术,可以让用户在同一台计算机上运行多个操作系统。本攻略将介绍如何安装Hyper-V并在其中安装虚拟机,并提供两个示例。 安装Hyper-V 以下是安装Hyper-V的步骤: 打开控制面板并选择“程序和功能”。 单击“打开或关闭Windows功能”。 在“Wind…

    other 2023年5月9日
    00
  • spring中bean id相同引发故障的分析与解决

    一、背景及问题分析 在Spring框架中,我们定义Bean对象时可以通过id属性来指定该Bean的唯一标识,通常一个id唯一对应一个Bean对象。假设在我们代码实现中定义了两个id相同的Bean对象,那么Spring框架使用该id获取Bean对象时将会发生什么? 考虑下面的示例: <bean id="person" class=&q…

    other 2023年6月27日
    00
  • android——单例模式

    当然,我很乐意为您提供有关“Android中单例模式”的完整攻略。以下是详细的步骤和两个示例: 1 Android中单例模式 单例模式是一种常用的设计模式,它可以确保一个类只有一个实例,并提供一个全局访问点。在Android开发中,单例模式通常用于管理全状态或资源,例如应程序配置、数据库连接、网络请求等。 1.1 实现单例模式 要实现单例模式,您需要创建一个…

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