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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是STL?

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

大家好,我是情報小哥~

**1、什么是STL **

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

STL主要是由一些模板函數和模板類構成的,其包含了C++程序開發中一些非常通用的數據結構實現與算法封裝,從而達到了非常良好的軟件復用和擴展能力,當然其背后帶來的是應用程序開發的高效,你不用再去徒手編輯各種數據結構和算法來使用,其實現的高效和穩定也減少了程序bug。

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

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

**2、STL的組成 **

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

圖片

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

**容器 : **是一些用于存儲數據的數據結構,比如鏈表、隊列、棧等等,大部分都是類模板。

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

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

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

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

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

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

圖片

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

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

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

參考例子:

1#include
2#include
3#include //向量(與數組類似)
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; //直接以數組方式訪問即可
18 cout<<" vr["<"]"<19 }
20
21 //2、隊列容器適配器(FIFO--即先進先出)
22 queue qf; //通過queue類模板創建一個隊列
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<//獲得端口數據
28 }
29
30 while(!qf.empty())
31 {
32 cout<<" Queue Out: "<//獲得端口數據
33 qf.pop();//進行出隊操作
34 }
35
36 return EXIT_SUCCESS;
37}

運行結果:

圖片

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

當然STL庫遠比上面復雜得多,后面小哥還會為大家慢慢道來~

**最 后 **

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    63012
  • C++
    C++
    +關注

    關注

    22

    文章

    2114

    瀏覽量

    73887
  • STL
    STL
    +關注

    關注

    0

    文章

    86

    瀏覽量

    18394
收藏 人收藏

    評論

    相關推薦

    c++之STL算法(三)

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

    STL130N6F7 MOS管現貨

    STL130N6F7 MOS管產品介紹STL130N6F7詢價熱線STL130N6F7現貨STL130N6F7代理 王先生 深圳市首質誠科技有限公司.
    發表于 11-12 10:21

    X-CUBE-STL與ARM的STL的區別是什么?

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

    effective stl中文版下載pdf

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

    C++ STL的概念及舉例

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

    STEP7 STL語句表編程使用手冊

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

    STL算法在GIS中的應用

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

    數據結構與STL

    學習數據結構與STL的一些資料,新手可以慢慢看。
    發表于 12-22 14:41 ?0次下載

    基于STL曲面網格重建算法

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

    S7-STL中文編程手冊

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

    stl-thumb STL縮略圖生成器

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

    STL的概述

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

    博途使用STL中的MOVE指令

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

    使用STL函數控制傳送帶

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

    STL內容介紹

    1 什么是STL? STL(Standard Template Library),即標準模板庫,是一個具有工業強度的,高效的C++程序庫。它被容納于C++標準程序庫(C++ Standard
    的頭像 發表于 11-13 11:32 ?945次閱讀
    <b class='flag-5'>STL</b>內容介紹
    主站蜘蛛池模板: 伊人伊成久久人综合网777 | 拍拍拍拍拍拍拍无挡大全免费 | 日本久久高清视频 | 欧美三级免费网站 | 性夜影院爽黄a爽免费看网站 | 四虎在线永久免费观看 | 一区二区三区伦理高清 | 黄色污网站在线观看 | good韩国理论在线三级 | 99青草 | 国产成人一级片 | 夜夜夜夜夜夜夜工噜噜噜 | 牛仔裤美女国产精品毛片 | 午夜黄页网站在线播放 | 国产真实灌醉美女疯狂弄 | 中文字幕三级 | 九九99久久精品影视 | 四虎影院在线观看网站 | 日日干狠狠干 | 四虎成人精品在永久在线观看 | 奇米影视第四色7777 | 人人人人干 | 中文字幕一区在线观看视频 | 天天色天| 中文字幕卡二和卡三的视频 | 亚洲视频在线一区二区三区 | xxxxxxxxx18免费视频| 婷婷丁香五 | 伊人网在线视频观看 | 久久久久免费观看 | 亚洲视频四区 | 四虎免费影院4hu永久免费 | 在线观看黄色网 | 一本大道一卡二卡四卡 | 四虎永久免费观看 | 酒色激情网 | 亚洲haose在线观看 | 好硬好湿好爽再深一点h视频 | 天天操天天干天天爱 | 天堂在线观看视频观看www | 午夜视频在线观看完整高清在线 |