vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。
向量可将元素存储在连续的内存位置中,并在运行时根据需要分配内存。
数组遵循静态方法,这意味着在运行时不能更改其大小,而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;
}输出:
nhooo.com
在此示例中,Vector类用于显示字符串。
| 函数 | 描述 |
|---|---|
| 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() | 它减少了容量并使它等于向量的大小。 |