📅  最后修改于: 2023-12-03 14:55:37.951000             🧑  作者: Mango
标准向量是C++中的一个动态数组容器,可以动态增长和缩小,且支持随机访问。在C++ STL库中,vector是最常用的容器之一,因为它比原生数组更安全、可靠和便于使用。
定义vector后,可以通过push_back()方法添加元素。vector可以在容器末尾自动增加空间。例如:
#include <vector>
using namespace std;
int main() {
vector<int> myVector;
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);
return 0;
}
也可以通过resize()函数改变vector的大小,如果增加了元素,新元素会被初始化为零。例如:
#include <vector>
using namespace std;
int main() {
vector<int> myVector(5);
myVector.resize(10);
return 0;
}
vector的元素是可以通过下标访问的,就像原生数组一样。例如:
#include <vector>
using namespace std;
int main() {
vector<int> myVector(3);
myVector[0] = 1;
myVector[1] = 2;
myVector[2] = 3;
return 0;
}
vector还支持使用迭代器进行访问。例如:
#include <vector>
using namespace std;
int main() {
vector<int> myVector(3);
myVector[0] = 1;
myVector[1] = 2;
myVector[2] = 3;
for (vector<int>::iterator it = myVector.begin(); it != myVector.end(); ++it) {
cout << *it << endl;
}
return 0;
}
vector的大小指当前容器中所保存的元素数量,可以使用size()函数获得大小信息。vector的容量是指分配给当前vector的内存单元数量,可以使用capacity()函数获得容量信息。例如:
#include <vector>
#include <iostream>
using namespace std;
int main() {
vector<int> myVector;
cout << myVector.size() << endl; // 输出 0
cout << myVector.capacity() << endl; // 输出 0
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);
cout << myVector.size() << endl; // 输出 3
cout << myVector.capacity() << endl; // 输出 4
return 0;
}
总之,vector是C++中一个常用的动态数组容器。它可以便捷地动态扩展和缩小数组大小,并支持随机访问。vector是STL库中最常用的标准容器之一,非常适合处理可增长和可缩小的数组数据结构。