
介绍
C++ STL中的vector是一种动态数组,它是一个封装了动态大小数组的顺序容器(Sequence Container)。与普通数组相比,vector可以动态增加或减少其大小,而不需要手动管理内存。vector的使用非常广泛,是C++中最常用的容器之一。
定义和初始化
vector的定义和初始化非常简单,可以使用以下语法:
“`
include
//定义一个int类型的vector
std::vector myVector;
//定义一个string类型的vector,并初始化为{“hello”, “world”}
std::vector myStringVector{“hello”, “world”};
“`
添加和删除元素
向vector中添加元素可以使用push_back()方法,如下所示:
“`
std::vector myVector;
//向vector中添加元素
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);
“`
从vector中删除元素可以使用erase()方法,如下所示:
“`
std::vector myVector{1, 2, 3};
//从vector中删除元素
myVector.erase(myVector.begin() + 1); //删除第二个元素
“`
访问元素
vector中的元素可以通过下标访问,也可以使用迭代器访问。下面是使用下标访问的例子:
“`
std::vector myVector{1, 2, 3};
//使用下标访问元素
int firstElement = myVector[0];
int secondElement = myVector[1];
“`
使用迭代器访问元素的例子如下:
“`
std::vector myVector{1, 2, 3};
//使用迭代器访问元素
for (auto it = myVector.begin(); it != myVector.end(); ++it) {
std::cout << *it << std::endl;
}
“`
容量和大小
vector的容量表示它当前可以容纳的元素数量,而大小表示它当前实际包含的元素数量。可以使用capacity()和size()方法获取它们的值,如下所示:
“`
std::vector myVector{1, 2, 3};
//获取容量和大小
int capacity = myVector.capacity();
int size = myVector.size();
“`
清空和重置
清空vector中的所有元素可以使用clear()方法,如下所示:
“`
std::vector myVector{1, 2, 3};
//清空vector中的所有元素
myVector.clear();
“`
重置vector的大小可以使用resize()方法,如下所示:
“`
std::vector myVector{1, 2, 3};
//重置vector的大小
myVector.resize(5); //将vector的大小设置为5
“`
总结
vector是C++ STL中非常常用的容器之一,它可以动态增加或减少其大小,而不需要手动管理内存。本文介绍了vector的定义和初始化、添加和删除元素、访问元素、容量和大小、清空和重置等常用操作。希望本文能够帮助大家更好地理解和使用vector。