声明:

    1. #include <iostream>
    2. #include <vector>
    3. using namespace std;
    4. struct air {
    5. int x, y;
    6. };
    7. int main() {
    8. vector<int> a = {1, 2, 3};
    9. vector<int> a2({1, 2, 3});
    10. vector<int> b[200];
    11. vector<air> c = {{1, 1}};
    12. return 0;
    13. }
    size() 返回实际大小
    empty() 判断是否为空
    clear() 清空

    迭代器:
    迭代器就像STL容器的“指针”,可以用星号*操作符解除引用。
    一个保存intvector的迭代器声明方法为:
    vector<int>::iterator it = a.begin()
    vector的迭代器是“随机访问迭代器”,可以把vector的迭代器与一个整数相加减,其行为和指针的移动类似。可以把vector的两个迭代器相减,其结果也和指针相减类似,得到两个迭代器对应下标之间的距离。

    begin/end
    begin()函数返回指向vector中第一个元素的迭代器。例如a是一个非空的vector,则*a.begin()a[0]的作用相同。
    所有的容器都可以视作一个“前闭后开”的结构,end()函数返回vector的尾部,即第n 个元素再往后的“边界”。*a.end()a[n]都是越界访问,其中n = a.size()

    1. #include <iostream>
    2. #include <vector>
    3. using namespace std;
    4. struct air {
    5. int x, y;
    6. };
    7. int main() {
    8. vector<int> a;
    9. for (int i = 1; i <= 5; i++)
    10. a.push_back(i);
    11. for (int i = 0; i < a.size(); i++)
    12. cout << a[i] << " ";
    13. cout << endl;
    14. for (auto t = a.begin(); t < a.end(); t++)
    15. cout << *t << " ";
    16. cout << endl;
    17. return 0;
    18. }

    front/back
    front()函数返回vector的第一个元素,等价于*a.begin()a[0]
    back()函数返回vector的最后一个元素,等价于*--a.end()a[a.size() – 1]

    push_back()和pop_back()
    a.push_back(x)把元素x插入到vector a的尾部。
    b.pop_back()删除vector a的最后一个元素。