C++ Vector(向量)

vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

向量可将元素存储在连续的内存位置中,并在运行时根据需要分配内存。

向量(Vector)和数组(array)之间的区别

数组遵循静态方法,这意味着在运行时不能更改其大小,而vector实现动态数组意味着在添加元素时会自动调整其大小。

语法

创建向量 'v1'。语法为:

vector<object_type> v1;

为了可以使用vector,必须在你的头文件中包含下面的代码:  

#include <vector>

实例

让我们看一个简单的实例。

#include<iostream>
#include<vector>
using namespace std;
int main()
{
    vector<string> v1;
    v1.push_back("nhooo");
    v1.push_back(".com");
    for(vector<string>::iterator itr=v1.begin();itr!=v1.end();++itr){
        cout<<*itr;
    }
    return 0; 
}

输出:

(cainiaojc.com)

在此示例中,Vector类用于显示字符串。

C ++向量函数

函数
描述
at(idx)传回索引idx所指的数据,如果idx越界,抛出out_of_range。
back()返回最后一个原始,不检查这个数据是否存在。
front()返回第一个元素。
swap()交换两个Vector。
push_back()在Vector最后添加一个元素。
pop_back()它从向量中删除最后一个元素。
empty()判断Vector是否为空(返回true时为空)
insert()它将在指定位置插入新元素。
erase()删除指定的元素。
resize()它修改向量的大小。
clear()它从向量中删除所有元素。
size()返回Vector元素数量的大小。
capacity()返回vector所能容纳的元素数量(在不重新分配内存的情况下)
assign()它将新值分配给向量。
operator=()它将新值分配给向量容器。
operator[]()它访问指定的元素。
end()返回最末元素的迭代器(实指向最末元素的下一个位置)
emplace()它将在位置pos之前插入一个新元素。
emplace_back()它在末尾插入一个新元素。
rend()它指向向量的第一个元素之前的元素。
rbegin()它指向向量的最后一个元素。
begin()返回第一个元素的迭代器。
max_size()返回Vector所能容纳元素的最大数量(上限)。
cend()它指向量中的last-last-element。
cbegin()它指向量的第一个元素。
crbegin()它指的是向量的最后一个字符。
crend()它指的是向量的第一个元素之前的元素。
data()它将向量的数据写入数组。
shrink_to_fit()它减少了容量并使它等于向量的大小。