亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 你什么儀式九二卡加

    查看全部
  • 赴日嗯噠航空

    查看全部
  • operator

    查看全部
  • operate

    查看全部
  • int main

    查看全部

  • Bijidsad

    查看全部
    0 采集 收起 來源:單元鞏固

    2020-02-02

  • #include?<iostream>
    #include?<stdlib.h>
    #include?<vector>
    #include?<list>
    #include?<map>
    #include?<string>
    using?namespace?std;
    
    /********
    通過使用標準模板庫,學習其用法
    *********/
    int?main(void){
    ????map<string,string>?m;
    ????pair<string,string>?p1("H","hello");
    ????pair<string,string>?p2("W","world");
    ????pair<string,string>?p3("B","bejign");
    
    //????m.push_back(p1);
    //????m.push_back(p2);
    ????//map中沒有push_back,和list,vector不同
    ????m.insert(p1);
    ????m.insert(p2);
    ????m.insert(p3);
    ????
    cout<<m["H"]<<endl;
    cout<<m[”B“]<<endl;
    ????//map的遍歷也必須使用迭代器,也可以使用索引的符號來進行遍歷
    
    
    
    ????//用迭代器進行遍歷,迭代器適用于所有的STL
    ????map<string,string>::iterator?itor?=?m.begin();
    ????for(;itor?!=?m.end();itor++){
    //????????cout?<<?*itor?<<endl;
    //map輸出需要輸出兩個
    ????????cout<<itor->first<<endl;
    ????????cout<<itor->second<<endl;
    ????????cout<<endl;
    ????}
    ????return?0;
    }


    查看全部
  • map使用方法:
    
    
    
    #include?<iostream>
    #include?<stdlib.h>
    #include?<vector>
    #include?<list>
    #include?<map>
    #include?<string>
    using?namespace?std;
    
    /********
    通過使用標準模板庫,學習其用法
    *********/
    int?main(void){
    ????map<int,string>?m;
    ????pair<int,string>?p1(3,"hello");
    ????pair<int,string>?p2(6,"world");
    ????pair<int,string>?p3(8,"bejign");
    
    //????m.push_back(p1);
    //????m.push_back(p2);
    ????//map中沒有push_back,和list,vector不同
    ????m.insert(p1);
    ????m.insert(p2);
    ????m.insert(p3);
    ????//map的遍歷也必須使用迭代器,也可以使用索引的符號來進行遍歷
    
    ????cout<<m[3]<<endl;
    ????cout<<m[6]<<endl;
    
    ????//用迭代器進行遍歷,迭代器適用于所有的STL
    ????map<int,string>::iterator?itor?=?m.begin();
    ????for(;itor?!=?m.end();itor++){
    //????????cout?<<?*itor?<<endl;
    //map輸出需要輸出兩個
    ????????cout<<itor->first<<endl;
    ????????cout<<itor->second<<endl;
    ????????cout<<endl;
    ????}
    ????return?0;
    }

    輸出:

    hello

    world

    3

    hello

    6

    world

    8

    bejign

    Process finished with exit code 0


    查看全部
  • list定義及使用方法:
    
    #include?<iostream>
    #include?<stdlib.h>
    #include?<vector>
    #include?<list>
    #include?<map>
    using?namespace?std;
    
    /********
    通過使用標準模板庫,學習其用法
    *********/
    int?main(void){
    ????list<int>?list1;
    ????list1.push_back(4);
    ????list1.push_back(7);
    ????list1.push_back(10);
    
    //????for(int?i?=?0;?i?<?list1.size();?i++){
    //????????cout<<list1[i]<<endl;
    //????}
    //錯誤不能用list1[i]來訪問list的元素,必須使用迭代器
    ????list<int>::iterator?itor?=?list1.begin();
    ????for(;itor?!=?list1.end();itor++){
    ????????cout?<<?*itor?<<?endl;
    ????}
    
    
    ????return?0;
    }


    查看全部
  • #include?<iostream>
    #include?<stdlib.h>
    #include?<vector>
    #include?<list>
    #include?<map>
    using?namespace?std;
    
    /********
    通過使用標準模板庫,學習其用法
    *********/
    int?main(void){
    ????vector<int>?vec;
    ????vec.push_back(3);
    ????vec.push_back(4);
    ????vec.push_back(6);
    ????vec.pop_back();
    ????cout<<vec.size()<<endl;
    
    ????for(int?i?=?0;?i?<?vec.size();i++){
    ????????cout<<vec[i]<<endl;
    ????}
    
    ????//使用迭代器
    ????vector<int>::iterator?itor?=?vec.begin();
    ????//cout<<*itor<<endl;
    ????for(;itor?!=?vec.end();itor++){
    ????????cout<<*itor<<endl;
    ????}
    
    ????cout<<vec.front()<<endl;//打印第一個元素
    ????cout<<vec.back()<<endl;//打印最后一個元素
    ????return?0;
    }

    錯誤:error: unknown type name 'vector'; did you mean 'hecto'?

    查看全部
  • map:映射

    存儲的數據都是成對出現,

    http://img1.sycdn.imooc.com//5e3540300001d2de12920724.jpg

    具體使用方法:(訪問方式和數組類似,map對象名[key])

    http://img1.sycdn.imooc.com//5e35403b0001b2b311340642.jpg

    注意m[“S”]

    http://img1.sycdn.imooc.com//5e35404b0001e78c11380672.jpg

    查看全部
  • list:鏈表模板

    特點:數據插入速度快

    每個節點:數據域&指針部分

    雙鏈表:既可以從頭找到尾,也可尾到頭。

    插入操作,向量比鏈表較復雜,兩者使用方法類型

    http://img1.sycdn.imooc.com//5e353f0e0001680a12180520.jpg

    查看全部
  • empty()?//返回值是一個布爾類型,當當前向量是一個空向量時,返回的是ture,否則返回為false
    begin()
    end()
    clear()//不管向量有多少個元素,最后0個元素
    fronnt()//返回第一個元素
    back()//返回最后一個元素
    size()//返回向量中數據的個數
    push_back(elem)//將數據插入向量尾
    pop_back()//刪除向量尾部數據
    
    int?main(void){
    ????vector<int>?vec;
    ????vec.push_back(10);//在向量尾部加一個10
    ????vec.push_pop();//將尾部的10抹掉
    ????cout<<vec.size()<<endl;//總數為0
    }
    
    遍歷數組法1:
    for(int?k?=?0;k?<?vec.size();k++){
    ????cout<<vet[k]<<endl;
    }
    
    遍歷數組法2:用迭代器iterator進行遍歷,可以訪問標準模板庫對象重的每個元素了
    
    int?main(void){
    ????vector?vec;
    ????vec.push_back("hello");
    ????/*
    ?????*?如何定一個向量的迭代器:
    ?????*?vector<類型>::iterator?迭代器的變量名
    ?????*/
    ????vetor<string>::iterator?citer?=?vec.begin();//只有在向量需要將第一個元素迭代器傳給一個迭代器變量時才會用到begin()
    ????for(;citer?!=?vec.end();?citer++){//end()向量最后一個元素的下一個位置,citer作為迭代器(類似指針)
    ????????cout?<<?*citer?<<?endl;
    ????}?
    ????return?0;
    };
    ????return?0;
    };

    http://img1.sycdn.imooc.com//5e353abc00010bdf13040654.jpg

    查看全部
  • c++標準模板庫:

    STL:標準模板庫

    STL:Standard Template Lib

    1.vector 向量 (本質:對數組的封裝)

    ? ? 特點:讀取能在常數時間完成

    http://img1.sycdn.imooc.com//5e35359c0001081414520680.jpg

    具體在使用時:

    vector<int>?ivec1;//初始化一個空的向量
    vector<int>?ivec2(ivet1);
    
    vector<string>?svac1;
    vector<string>?svec2(ivec);
    
    vetor<int>?ivet4(10,-1);//用10個-1這樣的元素初始化了ivet4這個向量
    vetor<string>?svec(10,"hi!");?//用10個這樣的字符串元素初始化了ivet4這個向量


    查看全部
  • 5.8練習:

    #include?<iostream>
    using?namespace?std;
    
    /**
    ?*?定義一個矩形類模板Rect
    ?*?成員函數:calcArea()、calePerimeter()
    ?*?數據成員:m_length、m_height
    ?*/
    template?<typename?T>
    class?Rect
    {
    public:
    ????Rect(T?length,T?height);
    ????T?calArea();
    ????T?calePerimeter();
    public:
    ????T?m_length;
    ????T?m_height;
    };
    
    /**
    ?*?類屬性賦值
    ?*/
    template?<typename?T>
    Rect<T>::Rect(T?length,T?height)
    {
    ????m_length?=?length;
    ????m_height?=?height;
    }
    
    /**
    ?*?面積方法實現
    ?*/
    template?<typename?T>
    T?Rect<T>::calArea()
    {
    ????return?m_length?*?m_height;
    }
    
    /**
    ?*?周長方法實現
    ?*/
    template?<typename?T>
    T?Rect<T>::calePerimeter()
    {
    ????return?(?m_length?+?m_height)?*?2;
    }
    
    int?main(void)
    {
    ????Rect<int>?rect(3,?6);
    ????cout?<<?rect.calArea()?<<?endl;
    ????cout?<<?rect.calePerimeter()?<<?endl;
    ????return?0;
    }


    查看全部

舉報

0/150
提交
取消
課程須知
學習本課程需要有一定的C語言和C++語言基礎。如基礎不太扎實的同學可以,參與C++遠征攻略的學習計劃,友情鏈接 http://www.xianlaiwan.cn/course/programdetail/pid/42
老師告訴你能學到什么?
1、友元函數及友元類的定義及使用方法 2、靜態數據成員和靜態成員函數的定義及使用方法 3、運算符重載的技巧 4、函數模板和類模板的定義及使用方法 5、標準模板庫的使用方法及基本原理

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!