📜  标准向量 c++ (1)

📅  最后修改于: 2023-12-03 14:55:37.951000             🧑  作者: Mango

标准向量(vector)C++介绍

标准向量是C++中的一个动态数组容器,可以动态增长和缩小,且支持随机访问。在C++ STL库中,vector是最常用的容器之一,因为它比原生数组更安全、可靠和便于使用。

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的访问

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的大小和容量

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的总结

总之,vector是C++中一个常用的动态数组容器。它可以便捷地动态扩展和缩小数组大小,并支持随机访问。vector是STL库中最常用的标准容器之一,非常适合处理可增长和可缩小的数组数据结构。