C++ Vector初始化

一、定义和构造函数

C++中的vector是一个类模板,它是一种动态数组,支持在数组的尾部增加或删除元素。在使用vector进行初始化时,有两种常见的方法。

第一种是使用定义和构造函数。定义和构造一个vector可以使用以下语法:

vector<int> myVector; //定义一个空的vector
vector<int> myVector(10); //定义一个大小为10的vector
vector<int> myVector(10, 3); //定义一个大小为10且每个元素都是3的vector
vector<int> myVector = {1, 2, 3, 4, 5}; //定义一个包含5个元素,值分别为1, 2, 3, 4, 5的vector

其中,第一行定义了一个空的vector,第二行定义了一个大小为10的vector,每个元素都是默认值0,第三行定义了一个大小为10且每个元素都是3的vector,第四行定义了一个包含5个元素,值分别为1,2,3,4,5的vector。

二、插入和删除元素

除了定义和构造函数,vector还支持插入和删除元素的操作。这些操作有以下几种:

①在尾部插入元素:

vector<int> myVector{1, 2, 3};
myVector.push_back(4); //将4插入到vector的尾部

在尾部插入元素是vector中最常见的操作之一,使用push_back函数可以方便地在尾部插入元素。

②在指定位置插入元素:

vector<int> myVector{1, 2, 3};
myVector.insert(myVector.begin() + 1, 4); //在位置1插入元素4

使用insert函数可以在vector的指定位置插入元素。insert函数接收两个参数,第一个参数是要插入的位置,第二个参数是要插入的元素。

③删除尾部元素:

vector<int> myVector{1, 2, 3};
myVector.pop_back(); //删除尾部元素

使用pop_back函数可以删除vector的尾部元素。

④删除指定位置元素:

vector<int> myVector{1, 2, 3};
myVector.erase(myVector.begin() + 1); //删除位置1的元素

使用erase函数可以删除vector的指定位置元素。erase函数接收一个参数,表示要删除的位置。

三、遍历和访问元素

C++中的vector支持使用下标访问元素和遍历元素的操作。

①使用下标访问元素:

vector<int> myVector{1, 2, 3};
int a = myVector[0]; //访问第一个元素
myVector[1] = 4; //修改第二个元素的值

使用下标可以方便地访问vector的元素,并修改元素的值。

②使用迭代器遍历元素:

vector<int> myVector{1, 2, 3};
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
    cout << *it << endl;
}

使用迭代器可以遍历vector的所有元素。vector的begin函数返回的是一个指向第一个元素的迭代器,end函数返回的是一个指向序列末尾的迭代器。

四、总结

C++中的vector是一种常用的数据结构,支持动态数组的操作。在使用vector进行初始化时,需要注意定义和构造函数的使用。除此之外,还需要掌握插入和删除元素、遍历和访问元素的操作。

原创文章,作者:GSAND,如若转载,请注明出处:https://www.506064.com/n/368164.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
GSANDGSAND
上一篇 2025-04-12 01:12
下一篇 2025-04-12 01:13

相关推荐

  • Go中struct的初始化

    本文将从多个方面详细阐述Go中struct的初始化方式,包括使用字面量初始化、使用new函数初始化以及使用构造函数等。通过本文的介绍,读者能够更深入的了解Go中struct的初始化…

    编程 2025-04-28
  • Java的vector用法详解

    一、vector的用法 java中的vector是可变长度的动态数组,类似于c++中的vector。可以存储任何数据类型,但需要保证类型一致。下面是一个vector的使用示例: i…

    编程 2025-04-25
  • c++ vector头文件详解

    一、vector介绍 vector是c++ STL(Standard Template Library)中的一个容器,它能够动态地增加或减少容器的大小,并且支持快速的随机访问。ve…

    编程 2025-04-24
  • C# Dictionary初始化的详解

    一、基础认识 C#中的Dictionary是一种键值对存储的数据类型,可以根据键(Key)访问对应的值(Value),它是.NET Framework中的常用类之一。创建Dicti…

    编程 2025-04-23
  • JS初始化详解

    JavaScript是一门动态的、基于事件驱动的编程语言,可以使网页在用户交互时产生动态特效和更好的交互性。JS的初始化是网页中必不可少的一环,好的初始化可以提高网页的加载速度和用…

    编程 2025-04-23
  • vector初始化赋值详解

    一、基础概念 vector是一个封装了动态大小数组的顺序容器(Sequence Container)。与C-style数组不同,它能够根据需要自动扩展,它是连续存储的,与数组一样高…

    编程 2025-04-22
  • 深入探析vector添加元素

    一、初始化vector 1、动态初始化vector 使用vector时,我们需要先将其初始化,vector可以有多种初始化方式。其中动态初始化是指我们需要在程序运行时才能确定vec…

    编程 2025-04-12
  • Kotlinlateinit:深入理解 Kotlin 的延迟初始化属性

    Kotlinlateinit 是 Kotlin 延迟初始化属性的一个重要概念。在一些情况下,Kotlin 允许我们在声明属性时使用 lateinit 关键字,来将属性的初始化推迟到…

    编程 2025-04-12
  • 详解vector的reserve函数

    一、概述 在C++的STL中,vector是一种很常用的容器,它可以存放任意类型的数据,并且可以动态增加或减少元素个数。其中,reserve函数是vector的一个重要函数,它可以…

    编程 2025-04-12
  • 深入剖析vector的长度

    一、长度的定义 Vector是C++标准库中一个非常重要的容器,它可以动态地增加或减少存储在其中的元素,而且还能够在O(1)的时间复杂度下实现常数时间的随机访问。Vector中有一…

    编程 2025-02-25

发表回复

登录后才能评论