c++ vector容器的使用

vector是c++ stl中顺序容器的一种,另外也有list,deque两种顺序容器,vector有两种比较常见的遍历形式,一种是类似数组的,一种是基于迭代器的。下面通过一些例子来熟悉vector的比较常见的用法。

/*
    编者:[email protected]

    功能:c++ vector容器用法演示

    环境:Win10 Professional 1703 / Microsoft Visual Studio 2017 / Microsoft Visual C++ 2017

    备注:无
*/

#include "stdafx.h"
#include 
#include 
#include 

int main()
{
    /* 创建vector类型变量 */
    std::vector<std::string> vec;

    /* 往vec中添加成员 */
    vec.push_back(std::string("Nice"));
    vec.push_back(std::string("to"));
    vec.push_back(std::string("meet"));
    vec.push_back(std::string("you"));
    vec.push_back(std::string("too"));
    vec.push_back(std::string("!"));
    vec.push_back(std::string("!"));

    /* 容器vec目前的大小 */
    std::cout << "before pop_back(), size = " << vec.size() << std::endl;

    /* 删除最后一个元素 */
    vec.pop_back();

    /* 删除一个元素后容器vec目前的大小 */
    std::cout << "after pop_back(), size = " << vec.size() << std::endl;

    /* 容器的容量 */
    std::cout << "current capacity = " << vec.capacity() << std::endl;

    /* 使用数组的形式遍历vec */
    std::cout << "array style :" << std::endl;
    for (int i = 0; i < vec.size(); i++) {
        std::cout << vec[i] << '\t';
    }

    std::cout << std::endl;

    /* 使用迭代器遍历vec */
    std::cout << "iterator style :" << std::endl;
    for (std::vector<std::string>::iterator i = vec.begin(); i != vec.end(); i++) {
        std::cout << *i << '\t';
    }

    std::cout << std::endl;

    /* 清除所有的成员 */
    vec.clear();

    /* 判断是否为空 */
    if (vec.empty()) {
        std::cout << "vec is empty now!" << std::endl;
    }

    /* 清除所有的成员后容器vec目前的大小 */
    std::cout << "after clear(), size = " << vec.size() << std::endl;

    /* 容器的容量 */
    std::cout << "current capacity = " << vec.capacity() << std::endl;

    return 0;
}

c++ vector容器的使用_第1张图片

你可能感兴趣的:(c++)