青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

STL(Standard Template Library),即標(biāo)準(zhǔn)模板庫,是一個具有工業(yè)強度的,高效的C++程序庫。它被容納于C++標(biāo)準(zhǔn)程序庫(C++ Standard Library)中,是ANSI/ISO C++標(biāo)準(zhǔn)中最新的也是極具革命性的一部分。該庫包含了諸多在計算機科學(xué)領(lǐng)域里所常用的基本數(shù)據(jù)結(jié)構(gòu)基本算法。
有些類似于Microsoft Visual C++中的MFC(Microsoft Foundation Class Library),或者是Borland C++ Builder中的VCL(Visual Component Library)

從邏輯層次來看,在STL中體現(xiàn)了泛型化程序設(shè)計的思想(generic programming),引入了諸多新的名詞,比如像需求(requirements),概念(concept),模型(model),容器(container),算法(algorithmn),迭代子(iterator)等。與OOP(object-oriented programming)中的多態(tài)(polymorphism)一樣,泛型也是一種軟件的復(fù)用技術(shù)。
從實現(xiàn)層次看,整個STL是以一種類型參數(shù)化(type parameterized)的方式實現(xiàn)的,這種方式基于一個在早先C++標(biāo)準(zhǔn)中沒有出現(xiàn)的語言特性--模板(template)。如果查閱任何一個版本的STL源代碼,你就會發(fā)現(xiàn),模板作為構(gòu)成整個STL的基石是一件千真萬確的事情。
在STL的源代碼里,并沒有太多太復(fù)雜的繼承關(guān)系。繼承的思想,甚而面向?qū)ο蟮乃枷?,還不足以實現(xiàn)類似STL這樣的泛型庫。C++只有在引入了"模板"之后,才直接導(dǎo)致了STL的誕生。這也正是為什么,用其他比C++更純的面向?qū)ο笳Z言無法實現(xiàn)泛型思想的一個重要原因。當(dāng)然,事情總是在變化之中,像Java在這方面,就是一個很好的例子,jdk1.4中已經(jīng)加入了泛型的特性。
1.3.2 STL和C++標(biāo)準(zhǔn)函數(shù)庫

  STL是最新的C++標(biāo)準(zhǔn)函數(shù)庫中的一個子集,這個龐大的子集占據(jù)了整個庫的大約80%的分量。而作為在實現(xiàn)STL過程中扮演關(guān)鍵角色的模板則充斥了幾乎整個C++標(biāo)準(zhǔn)函數(shù)庫。
它大致包含了如下幾個組件:
C標(biāo)準(zhǔn)函數(shù)庫,基本保持了與原有C語言程序庫的良好兼容,盡管有些微變化。人們總會忍不住留戀過去的美好歲月,如果你曾經(jīng)是一個C程序員,對這一點一定體會頗深。或許有一點會讓你覺得奇怪,那就是在C++標(biāo)準(zhǔn)庫中存在兩套C的函數(shù)庫,一套是帶有.h擴展名的(比如<stdio.h>),而另一套則沒有(比如<cstdio>)。它們確實沒有太大的不同。
診斷(diagnostics)部分,提供了用于程序診斷和報錯的功能,包含了異常處理(exception handling),斷言(assertions),錯誤代碼(error number codes)三種方式。

  通用工具(general utilities)部分,這部分內(nèi)容為C++標(biāo)準(zhǔn)庫的其他部分提供支持,當(dāng)然你也可以在自己的程序中調(diào)用相應(yīng)功能。比如:動態(tài)內(nèi)存管理工具,日期/時間處理工具。記住,這里的內(nèi)容也已經(jīng)被泛化了(即采用了模板機制)。

  字符串(string)部分,用來代表和處理文本。它提供了足夠豐富的功能。事實上,文本是一個string對象,它可以被看作是一個字符序列,字符類型可能是char,或者wchar_t等等。string可以被轉(zhuǎn)換成char*類型,這樣便可以和以前所寫的C/C++代碼和平共處了。因為那時侯除了char*,沒有別的。

  國際化(internationalization)部分,作為OOP特性之一的封裝機制在這里扮演著消除文化和地域差異的角色,采用locale和facet可以為程序提供眾多國際化支持,包括對各種字符集的支持,日期和時間的表示,數(shù)值和貨幣的處理等等。畢竟,在中國和在美國,人們表示日期的習(xí)慣是不同的。

  容器(containers)部分,STL的一個重要組成部分,涵蓋了許多數(shù)據(jù)結(jié)構(gòu),比如前面曾經(jīng)提到的鏈表,還有:vector(類似于大小可動態(tài)增加的數(shù)組)、queue(隊列)、stack(堆棧)……。string也可以看作是一個容器,適用于容器的方法同樣也適用于string?,F(xiàn)在你可以輕松的完成數(shù)據(jù)結(jié)構(gòu)課程的家庭作業(yè)了。

  算法(algorithms)部分,STL的一個重要組成部分,包含了大約70個通用算法,用于操控各種容器,同時也可以操控內(nèi)建數(shù)組。比如:find用于在容器中查找等于某個特定值的元素,for_each用于將某個函數(shù)應(yīng)用到容器中的各個元素上,sort用于對容器中的元素排序。所有這些操作都是在保證執(zhí)行效率的前提下進行的,所以,如果在你使用了這些算法之后程序變得效率底下,首先一定不要懷疑這些算法本身,仔細檢查一下程序的其他地方。

  迭代器(iterators)部分,STL的一個重要組成部分,如果沒有迭代器的撮合,容器和算法便無法結(jié)合的如此完美。事實上,每個容器都有自己的迭代器,只有容器自己才知道如何訪問自己的元素。它有點像指針,算法通過迭代器來定位和操控容器中的元素。

  數(shù)值(numerics)部分,包含了一些數(shù)學(xué)運算功能,提供了復(fù)數(shù)運算的支持。

  輸入/輸出(input/output)部分,就是經(jīng)過模板化了的原有標(biāo)準(zhǔn)庫中的iostream部分,它提供了對C++程序輸入輸出的基本支持。在功能上保持了與原有iostream的兼容,并且增加了異常處理的機制,并支持國際化(internationalization)。

  總體上,在C++標(biāo)準(zhǔn)函數(shù)庫中,STL主要包含了容器、算法、迭代器。string也可以算做是STL的一部分。



圖1:STL和C++標(biāo)準(zhǔn)函數(shù)庫
Posted on 2006-01-01 12:13 艾凡赫 閱讀(759) 評論(0)  編輯 收藏 引用 所屬分類: C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美日韩在线播放| 在线观看精品一区| 亚洲国产欧美在线人成| 亚洲天堂网在线观看| 美国成人直播| 亚洲精品看片| 亚洲一区二区精品在线| 欧美国产日韩视频| 国产在线播放一区二区三区| 亚洲欧美综合v| 91久久精品国产91性色tv| 亚洲尤物视频网| 欧美视频在线观看 亚洲欧| 亚洲国产精品123| 久久久免费av| 亚洲尤物影院| 欧美日韩精品高清| 亚洲激情成人| 久久综合色婷婷| 欧美在线视频一区二区三区| 欧美日韩在线视频观看| 亚洲精品久久久久久久久| 久久久久久久久久码影片| 亚洲素人在线| 欧美日韩在线看| 日韩一区二区精品| 亚洲激情电影在线| 久久五月天婷婷| 国产精品久久久久久av下载红粉| 亚洲免费高清视频| 久久综合电影一区| 久久久7777| 国产综合激情| 久久在精品线影院精品国产| 欧美亚洲在线播放| 国产午夜精品久久| 午夜视频久久久久久| 99精品视频免费观看| 欧美日韩亚洲91| 一区二区三区欧美成人| **欧美日韩vr在线| 国模大胆一区二区三区| 夜夜精品视频一区二区| 亚洲乱码国产乱码精品精98午夜| 免费日本视频一区| 亚洲美女免费视频| 91久久在线| 欧美视频一区二区三区…| 亚洲特色特黄| 亚洲伦理在线| 欧美色网一区二区| 亚洲一区在线看| 国产精品99久久99久久久二8| 欧美精品一区二区三| 亚洲性色视频| 亚洲性av在线| 国产视频一区二区在线观看| 久久精品国产99| 久久久综合网| 91久久精品一区| 日韩一区二区福利| 国产精品日韩欧美| 欧美一区二区三区喷汁尤物| 欧美一级成年大片在线观看| 欧美亚日韩国产aⅴ精品中极品| 欧美一区1区三区3区公司| 亚洲欧美精品在线观看| 国产视频精品xxxx| 欧美91视频| 欧美成人嫩草网站| 午夜精品视频网站| 欧美一区二区三区视频| 亚洲福利视频一区二区| 亚洲激情另类| 欧美日韩第一页| 亚洲欧美日韩中文在线制服| 先锋影音一区二区三区| 亚洲国产日韩欧美在线动漫| 91久久国产精品91久久性色| 国产精品久久久久天堂| 久久精品国亚洲| 免费欧美电影| 小处雏高清一区二区三区| 欧美一级网站| 日韩视频一区| 亚洲图片欧洲图片av| 在线观看一区欧美| 亚洲精品国产精品国自产在线| 国产精品www网站| 麻豆91精品| 欧美欧美午夜aⅴ在线观看| 久久爱www久久做| 蜜臀va亚洲va欧美va天堂| 亚洲欧美中文在线视频| 久久久久久尹人网香蕉| 亚洲理论电影网| 欧美一区二区三区四区高清| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美精品一区二区三区蜜臀| 欧美一区二区三区久久精品茉莉花 | 久久久精品日韩欧美| 久久久亚洲国产美女国产盗摄| 亚洲视频专区在线| 久久久国产一区二区| 亚洲精品美女久久久久| 欧美一区国产二区| 99国产精品99久久久久久| 欧美一区二区三区视频在线观看 | 欧美一区二区免费| 久久久久久999| 99精品欧美一区二区三区 | 日韩亚洲综合在线| 欧美三日本三级少妇三2023| 久久一区二区视频| 欧美日韩成人在线| 欧美护士18xxxxhd| 国产欧美日韩一区二区三区在线观看| 亚洲国产精品成人久久综合一区| 国产精品视频最多的网站| 91久久国产综合久久蜜月精品 | 免费中文字幕日韩欧美| 欧美日本国产| 亚洲第一精品电影| 国产日韩精品入口| 亚洲国产视频a| 尤物精品在线| 亚洲精品综合精品自拍| 在线精品视频免费观看| 亚洲欧美第一页| 一区二区三区视频观看| 久久久五月天| 久久国产主播| 国产精品久久久久久久久| 亚洲国产精品精华液2区45| 狠狠色伊人亚洲综合网站色| 日韩一区二区免费看| 亚洲国产精品成人一区二区| 午夜视频一区在线观看| 欧美一级播放| 欧美视频一区二区三区在线观看| 亚洲人成在线播放网站岛国| 在线观看国产欧美| 久久精品一区二区三区四区| 欧美尤物巨大精品爽| 欧美日韩在线播放三区| 日韩亚洲不卡在线| 亚洲精品资源美女情侣酒店| 在线免费高清一区二区三区| 午夜欧美精品| 久久九九热免费视频| 国产精品一区二区a| 亚洲免费视频网站| 亚洲一区久久久| 欧美视频在线观看视频极品| 亚洲七七久久综合桃花剧情介绍| 亚洲人成人77777线观看| 久久午夜精品| 欧美福利视频网站| 亚洲国产精品久久| 亚洲区一区二| 亚洲手机在线| 欧美三级电影网| 一道本一区二区| 亚洲一区二区在线免费观看视频| 欧美日韩高清在线播放| 亚洲精品社区| 亚洲网站视频福利| 欧美午夜片在线观看| 亚洲日本va午夜在线电影| 亚洲乱码国产乱码精品精天堂| 欧美一区二区三区男人的天堂| 久久久久成人精品| 国外精品视频| 久久综合国产精品| 欧美激情第一页xxx| 亚洲日韩第九十九页| 欧美精品导航| 夜夜嗨av一区二区三区| 亚洲欧美欧美一区二区三区| 国产精品入口麻豆原神| 午夜伦欧美伦电影理论片| 美女国产一区| 最新日韩欧美| 欧美午夜精品一区| 亚洲中午字幕| 你懂的成人av| 亚洲精品视频免费观看| 国产精品久久波多野结衣| 亚洲一二三区精品| 久久综合综合久久综合| 亚洲片在线观看| 欧美国产日韩一区二区在线观看| 亚洲精品影视| 欧美在线播放高清精品| 狠狠干综合网| 亚洲在线免费| 欧美1区免费| 亚洲美女黄网| 国产午夜精品久久| 久久亚洲影院|