C++ 之標準庫類型—— vector 容器

C++ 之標準庫類型—— vector 容器


標準庫類型vector表示對象的集合,其中所有對象的的類型都相同。集合中的每對象都有一個與之對應的索引,索引用於訪問對象。因爲 vector “容納”着其他對象,所以他也常被稱爲容器(container).
注意需要有包含有頭文件,如果做上了using 就更好了,如下:

#incldue<vector>
using std::vector;

說實話,一開始的時候,我接觸到這個vector這個概念是完全懵逼的,再看書上的實例也是暈暈的,但是等我做完課後題後,突然就恍然大悟了。

定義和初始化vector 對象

dog vector支持的操作
v.empty() 若其中不含有任何元素,返回真,否則假
v.size() 返回其中個數
v.push_back(t) 向V的尾端添加元素
v[n] 返回第n個位置上的值的引用
v1 =v2 用V2中元素拷貝替換v1中的元素
v1 = {a,b,c…} 用列表中的元素拷貝替換V1中的元素
v1 == v2 數量相同 對應位置相同  布爾型
v1 != v2 同上   布爾型
<, <=,>,>= 以字典序進行比較

以下代碼演示,vector內的,定義,聲明,索引(),添加(push_back)

//作用爲向容器中添加字符串,遇“123”停止,然後打印他們,在進行所有字符串的遍歷,轉化爲大寫字母
#include<iostream>
#include<string>
#include<vector>

using namespace std;
int main ()
{
    string  str;
    vector<string>  svec;
    while (cin >> str && str != "123"){
        svec.push_back(str);    //向容器中添加元素的時候不能使用下標是的形式
    } 
    for(int i=0; i< svec.size(); i++){
            cout << "those are "  <<svec[i] << endl;
    }
    for (auto ptr : svec ){
        for  (auto &c : ptr){
            c = toupper(c);
        }
        cout << ptr <<endl; 
    }
}

私以爲,這個vector 給我的感覺就像是裏面的動態數組,但與之相比,vector 更高級更好用,一開始的時候見到這個容器的概念,確實懵逼,但當我看清楚他一點點的本質之後就能有所瞭解了。

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