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; }
输出:
(cainiaojc.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() | 它减少了容量并使它等于向量的大小。 |