在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是STL?

汽車電子技術(shù) ? 來源: 嵌入式情報局 ? 作者:情報小哥 ? 2023-02-21 11:08 ? 次閱讀

大家好,我是情報小哥~

**1、什么是STL **

STL庫英文名叫standard template library,標(biāo)準(zhǔn)模板庫,并且它屬于標(biāo)準(zhǔn)庫的一部分,前面小哥跟大家講解模板的相關(guān)知識就是為其進行鋪墊的。

STL主要是由一些模板函數(shù)和模板類構(gòu)成的,其包含了C++程序開發(fā)中一些非常通用的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)與算法封裝,從而達到了非常良好的軟件復(fù)用和擴展能力,當(dāng)然其背后帶來的是應(yīng)用程序開發(fā)的高效,你不用再去徒手編輯各種數(shù)據(jù)結(jié)構(gòu)和算法來使用,其實現(xiàn)的高效和穩(wěn)定也減少了程序bug。

而對于C語言而言目前暫時沒有這樣的庫,大部分都是各大廠家整理的,或者是一些大牛自己開源的等等,這樣就難以形成一個比較好的標(biāo)準(zhǔn),不太便于程序員代碼之間的交流和軟件的復(fù)用。

STL庫既然是一個庫就跟標(biāo)準(zhǔn)庫一樣,如果你覺得方便,或者有這塊需求,直接白嫖,如果你覺得STL實現(xiàn)得不夠好,或者需改良,也可以自己來編寫。

**2、STL的組成 **

對于STL主要分為如下6大組件 :

圖片

下面小哥簡單的介紹每個組件:

**容器 : **是一些用于存儲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),比如鏈表、隊列、棧等等,大部分都是類模板。

**算法 : **也就是我們平時提到的各種算法,比如排序,查找等等,大部分都是一些函數(shù)模板,

**迭代器 : **名字看起來比較高大上,其實可以認(rèn)為它就是一個“智能指針”,用于遍歷容器,所以每種容器都有自己的迭代器用來遍歷。

**分配器 : **主要是用于輔助容器分配和管理空間。

**仿函數(shù) : ** 主要是與算法結(jié)合,因函數(shù)指針無法滿足C++抽象需求,通過重載操作符(),來實現(xiàn)類似函數(shù)調(diào)用的過程。

**適配器 : **其名稱就可以看出,主要是用于接口的相互轉(zhuǎn)換,從而協(xié)調(diào)多種端口,容器、仿函數(shù)、迭代器都可以與適配器結(jié)合,類比電源適配器進行電壓轉(zhuǎn)換。

那么下面小哥簡單的通過一個圖來描述這6大組件之間的關(guān)聯(lián),以便大家更好的理解。

圖片

分配器為容器分配數(shù)據(jù)空間,而迭代器就是為了遍歷容器,算法通過迭代器來訪問容器,仿函數(shù)使得算法更加的靈活,而這些適配器可以為外界提供新的接口。

**3、STL的容器的使用體驗 **

這里通過一個簡單的容器操作來體驗一下最基礎(chǔ)的STL使用:

參考例子:

1#include
2#include
3#include //向量(與數(shù)組類似)
4#include //隊列
5
6using namespace std;
7
8int main(int argc, char *argv[])
9{
10 //1、向量容器
11 vector vr(5); //通過vertor容器類模板定義一個int類型的向量vr
12
13 cout<<" vr size: "<14
15 for(int Index = 0; Index < vr.size(); Index++)
16 {
17 vr[Index] = Index + 1; //直接以數(shù)組方式訪問即可
18 cout<<" vr["<"]"<19 }
20
21 //2、隊列容器適配器(FIFO--即先進先出)
22 queue qf; //通過queue類模板創(chuàng)建一個隊列
23
24 for(int cnt = 0 ;cnt < 5;cnt++)
25 {
26 qf.push((float)cnt+0.1); //進行入隊操作
27 cout<<" Queue IN : "<<(float)cnt+0.1<//獲得端口數(shù)據(jù)
28 }
29
30 while(!qf.empty())
31 {
32 cout<<" Queue Out: "<//獲得端口數(shù)據(jù)
33 qf.pop();//進行出隊操作
34 }
35
36 return EXIT_SUCCESS;
37}

運行結(jié)果:

圖片

只需要包含相應(yīng)的頭文件即可使用相應(yīng)的模板來供應(yīng)用程序使用,比如例子中使用的隊列等,不需要我們像C語言那樣再徒手編寫隊列了,簡直不要再方便了~

當(dāng)然STL庫遠(yuǎn)比上面復(fù)雜得多,后面小哥還會為大家慢慢道來~

**最 后 **

這里小哥就介紹了C++中白嫖STL庫。本系列文章還會持續(xù)更新,以最通俗易懂的方式跟大家談?wù)凜++,期待您的關(guān)注與支持~

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4363

    瀏覽量

    63713
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2116

    瀏覽量

    74519
  • STL
    STL
    +關(guān)注

    關(guān)注

    0

    文章

    86

    瀏覽量

    18630
收藏 人收藏

    評論

    相關(guān)推薦

    c++之STL算法(三)

    c++之STL算法(三)
    的頭像 發(fā)表于 07-18 15:00 ?1589次閱讀
    c++之<b class='flag-5'>STL</b>算法(三)

    X-CUBE-STL與ARM的STL的區(qū)別是什么?

    大家好,我正在做一些關(guān)于 STL 的研究。STM 的 X-CUBE-STL 產(chǎn)品與 ARM STL 庫有何不同?你為什么要用一個而不是另一個?
    發(fā)表于 12-02 07:18

    effective stl中文版下載pdf

    導(dǎo)讀你已經(jīng)熟悉了STL。你知道怎么建立容器,迭代它們的內(nèi)容,添加刪除元素和應(yīng)用常見算法,比如find和sort。但你并不滿足,你不能擺脫STL所提供的超過它們能帶來的好處
    發(fā)表于 08-25 17:47 ?0次下載

    C++ STL的概念及舉例

      本篇文章是作者本人使用STL 后的一些看法, 對於想要靠此文章學(xué)習(xí)STL, 是不可能的. 建議叁后面介紹的一些書入門.   STL的概念   在STL 中, 大至上分三個主要的
    發(fā)表于 08-30 11:39 ?1453次閱讀

    STEP7 STL語句表編程使用手冊

    本手冊是用STL語句表編程語言編制用戶程序的用戶指南。 本手冊也包括描述STL語言元素的語法和功能的參考章節(jié)
    發(fā)表于 03-10 16:05 ?197次下載
    STEP7 <b class='flag-5'>STL</b>語句表編程使用手冊

    STL算法在GIS中的應(yīng)用

    使用STL 算法實現(xiàn)GIS 算法可以保證它的簡潔和高效該文結(jié)合C++代碼實例抽象出了地理算子的概念應(yīng)用在GIS 算法當(dāng)中通過定制適配器來消除地理算子和STL 算法之間的不匹配同時拓展了ST
    發(fā)表于 06-28 16:55 ?33次下載

    數(shù)據(jù)結(jié)構(gòu)與STL

    學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與STL的一些資料,新手可以慢慢看。
    發(fā)表于 12-22 14:41 ?0次下載

    基于STL曲面網(wǎng)格重建算法

    STL(stereo lithography)作為3D掃描數(shù)據(jù)和快速原型制造事實上的標(biāo)準(zhǔn),廣泛應(yīng)用于娛樂、制造業(yè)和Internet等領(lǐng)域.隨著3D模型越來越復(fù)雜,數(shù)據(jù)量越來越龐大,從STL文件難以
    發(fā)表于 12-25 11:52 ?1次下載
    基于<b class='flag-5'>STL</b>曲面網(wǎng)格重建算法

    S7-STL中文編程手冊

    S7-STL中文編程手冊免費下載。
    發(fā)表于 04-23 11:48 ?28次下載

    stl-thumb STL縮略圖生成器

    ./oschina_soft/stl-thumb.zip
    發(fā)表于 05-30 09:46 ?60次下載
    <b class='flag-5'>stl</b>-thumb <b class='flag-5'>STL</b>縮略圖生成器

    STL的概述

    C++ STL 是一套功能強大的 C++ 模板類,提供了通用的模板類和函數(shù),這些模板類和函數(shù)可以實現(xiàn)多種流行和常用的算法,關(guān)于 STL 呢,下面通過一個系統(tǒng)框圖來對其進行一個總結(jié)
    的頭像 發(fā)表于 01-20 17:08 ?1578次閱讀
    <b class='flag-5'>STL</b>的概述

    C++之STL庫中的容器

    前面跟大家介紹過STL庫,STL主要是由6大部分組成,其中第一個提到的就是容器,容器在介紹STL中小哥有簡單的跟大家介紹過,今天稍微再詳細(xì)介紹一下
    的頭像 發(fā)表于 02-21 10:55 ?1390次閱讀
    C++之<b class='flag-5'>STL</b>庫中的容器

    博途使用STL中的MOVE指令

    現(xiàn)在,在 S7-1500 CPU 上可使用 STL 中的 MOVE 指令進行編程。
    的頭像 發(fā)表于 06-06 11:10 ?7533次閱讀
    博途使用<b class='flag-5'>STL</b>中的MOVE指令

    使用STL函數(shù)控制傳送帶

    要創(chuàng)建 STL 函數(shù)塊“STL-Conveyor”,請按以下步驟操作
    的頭像 發(fā)表于 10-12 16:00 ?786次閱讀
    使用<b class='flag-5'>STL</b>函數(shù)控制傳送帶

    STL內(nèi)容介紹

    1 什么是STLSTL(Standard Template Library),即標(biāo)準(zhǔn)模板庫,是一個具有工業(yè)強度的,高效的C++程序庫。它被容納于C++標(biāo)準(zhǔn)程序庫(C++ Standard
    的頭像 發(fā)表于 11-13 11:32 ?1116次閱讀
    <b class='flag-5'>STL</b>內(nèi)容介紹
    主站蜘蛛池模板: 日韩免费高清一级毛片 | xxxx日本老师hd | 一级片在线观看免费 | 狠狠色丁香婷婷综合最新地址 | 中文字幕在线看精品乱码 | 欧美一级视频在线观看 | 性色aⅴ闺蜜一区二区三区 性色成人网 | 婷婷6月| 亚洲精品午夜久久aaa级久久久 | 亚洲精品色图 | 婷婷色香五月激情综合2020 | 精品无码三级在线观看视频 | 搜索黄色毛片 | 亚洲人成伊人成综合网久久 | 97久久草草超级碰碰碰 | 狠狠色噜噜狠狠狠狠米奇777 | 苦瓜se影院在线视频网站 | 一区二区中文字幕 | 亚洲一区二区三区高清视频 | 久草在线资源网 | 特级片免费看 | 久久人人网| 午夜三级视频 | h黄色| 免费人成网555www | 亚洲色啦啦狠狠网站 | 中文在线最新版天堂 | 免费国产成人α片 | 一 级 黄 中国色 片 | 在线观看亚洲人成网站 | 一区二区三区在线观看视频 | 日本高清视频不卡 | 国内精品久久久久久久久蜜桃 | 久久精品亚洲一区二区三区浴池 | 欧美大片国产在线永久播放 | 免费日韩一级片 | 性孕妇洗澡video国产 | 天天综合天天综合色在线 | 男人天堂网www | 色婷婷一区二区三区四区成人 | 人人艹人人草 |