c++ 中vector 常见用法

 更新时间:2021年11月19日 13:18:24   作者:诗子黎  
这篇文章主要给大家分享的是c++ 中vector 常见用法,,vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数,下面来看看文章的详细内容,需要的朋友可以参考一下

1、c++ 中 vector

vector有两个参数,一个是size,表示当前vector容器内存储的元素个数,一个是capacity,表示当前vector在内存中申请的这片区域所能容纳的元素个数。

capacity会随着你的使用vector内置函数而动态变化.

通常capacity会比size大,如果往vectorpush_back数据,这样就不用重新申请内存和拷贝元素到新内存区域了,便于节省时间。

vector 之间可以之间赋值或者作为函数的返回值

2、初始化

与数组的初始化一样

vector<int> a = {11,2,3};

3、常用函数

#include <vector>
#include <iostream>
using namespace std;
 
int main()
{
 vector<int> vec;
}


多维的 vector 用法与多维的 string 一样。

在尾部添加元素:push_back(要添加的元素)

vec.push_back(3);


说明:把数字3加到vec的末尾。

注意:vector 类型的变量要想增加元素,只能用push_back() 函数

for(int i = 0;i<vec.size();i++)
    vec.push_back(i);


说明:将vec中的元素依次赋值为0 1 2 3 4 .......

在尾部删除元素:pop_back(空)

vec.pop_back();


说明:删除容器内的最后一个元素,容器的size减1。

之后仍然能通过push_back()来在尾部增加元素

因为pop_back()不会减小capacity.

读取长度:size(空)

int len = vec.size();


说明:vec的长度(也就是其中的元素的个数)赋给len

改变大小: resize(改变后的长度,(用哪个元素补全))
假设此时vec的长度为4

vec.resize(2);  // 将vec的长度变为2,(注意vec是从0开始编号,因此此时vec的最后一个元素为vec[1]),vec[2:n]均被舍弃
vec.resize(6,3); // 将vec的长度变为6,此时vec[4:5] 均被赋值为3


且,resize函数只能对vecsize进行减小,而不能使得capacity减小

清空:clear()

vec.clear();


说明:size设置成0,capacity不变。

检测是否为空 :empty()

if(vec.empty())
    cout<< "empty";
else 
    cout <<"full";


说明:对于 empty() 函数,如果为空,则返回 true,如果非空,则返回 false

到此这篇关于c++ 中vector 常见用法的文章就介绍到这了,更多相关c++ 中的vector 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言中((type *)0) 和(type *0)区别小结

    C语言中((type *)0) 和(type *0)区别小结

    ((type *)0) 和 (type *0) 在 C 和 C++ 中有不同的含义和用途,本文主要介绍了C语言中((type *)0) 和(type *0)区别,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • C++运算符重载 成员函数与友元函数详解

    C++运算符重载 成员函数与友元函数详解

    以下是对C++运算符重载 成员函数与友元函数进行了介绍,需要的朋友可以过来参考下
    2013-07-07
  • C语言程序环境和预处理详解分析

    C语言程序环境和预处理详解分析

    大家有没有想过,在vs2019的编译器上只要按下Ctrl+F5,一个test.c的源程序就能变成一个.exe的可执行程序,这其中是如何通过编译产生的呢,本章就和大家一起把其中的知识和重点的预处理一起学习一下
    2022-03-03
  • Qt实现闹钟小程序

    Qt实现闹钟小程序

    这篇文章主要为大家详细介绍了Qt实现闹钟小程序,利用Qt的designer设计需要的闹钟界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • C++内核对象封装单实例启动程序的类

    C++内核对象封装单实例启动程序的类

    这篇文章主要介绍了利用C++内核对象封装的类,程序只能运行单个实例,可防止多次启动,大家参考使用吧
    2013-11-11
  • ​​​​​​​C语言实现单链表基本操作方法

    ​​​​​​​C语言实现单链表基本操作方法

    这篇文章主要介绍了​​​​​​​C语言实现单链表基本操作方法,文章围绕主题展开详细介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • VC实现批量删除指定文件的方法

    VC实现批量删除指定文件的方法

    这篇文章主要介绍了VC实现批量删除指定文件的方法,是一个比较普遍且实用的功能,需要的朋友可以参考下
    2014-07-07
  • C语言实现简单的飞机大战游戏

    C语言实现简单的飞机大战游戏

    这篇文章主要为大家详细介绍了C语言实现简单的飞机大战游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • C++实现LeetCode(77.Combinations 组合项)

    C++实现LeetCode(77.Combinations 组合项)

    这篇文章主要介绍了C++实现LeetCode(Combinations 组合项),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C++读写Excel的实现方法详解

    C++读写Excel的实现方法详解

    本篇文章是对C++读写Excel的实现方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论