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 <iostream>
#include <vector>
#include <string>

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;
}

這裏寫圖片描述

發佈了35 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章