📜  C++ STL中的向量数组(1)

📅  最后修改于: 2023-12-03 15:13:56.965000             🧑  作者: Mango

C++ STL中的向量数组

在C++ STL中,向量数组是一种动态数组,它能够自动增长和缩小,使得内存使用更加高效。此外,向量数组还提供了许多其他有用的功能,在开发项目时极为方便。

声明和初始化

使用向量数组需要包含头文件<vector>,声明一个向量数组可以使用以下语法:

std::vector<int> myVector;

这将声明一个名为myVector的向量数组,数组中每个元素是int类型。向量数组的大小将会是0,需要在使用前使用push_back()函数添加新的元素。

std::vector<int> myVector;
myVector.push_back(3);
myVector.push_back(7);
myVector.push_back(2);

以上代码将向myVector数组依次添加3、7、2三个元素,数组大小将变成3。

另外,向量数组也可以在声明时直接初始化:

std::vector<int> myVector = {3, 7, 2};

这将会初始化一个大小为3的数组,每个元素依次是3、7、2。

常用操作
获取元素

可以使用[]符号或at()函数获取数组中的元素,两者的区别在于[]不会对索引进行边界检查,而at()会检查索引是否合法。

std::vector<int> myVector = {3, 7, 2};
std::cout << myVector[0] << std::endl; // 输出3
std::cout << myVector.at(1) << std::endl; //输出7
获取数组大小

可以使用size()函数获取数组大小。

std::vector<int> myVector = {3, 7, 2};
std::cout << myVector.size() << std::endl; // 输出3
添加和删除元素

可以使用push_back()函数在数组末尾添加元素,使用pop_back()函数删除数组末尾的元素。

std::vector<int> myVector = {3, 7, 2};
myVector.push_back(4);
std::cout << myVector.size() << std::endl; // 输出4
myVector.pop_back();
std::cout << myVector.size() << std::endl; // 输出3
插入和删除元素

可以使用insert()函数在数组指定位置插入元素,使用erase()函数删除数组指定位置的元素。

std::vector<int> myVector = {3, 7, 2};
myVector.insert(myVector.begin() + 1, 5); // 在第二个位置插入5
std::cout << myVector.size() << std::endl; // 输出4
myVector.erase(myVector.begin() + 2); // 删除第三个元素
std::cout << myVector.size() << std::endl; // 输出3
清空数组

可以使用clear()函数清空数组。

std::vector<int> myVector = {3, 7, 2};
myVector.clear();
std::cout << myVector.size() << std::endl; // 输出0
总结

向量数组是C++ STL中一个非常实用的数据结构,注意其中的各种操作细节,能够在开发中提高效率。