標(biāo)記(signature)是邊界的一維表達(dá),可以用多種方法來產(chǎn)生。其基本思想是將原始的二維邊界用元函數(shù)來表示,以降低表達(dá)難度。最簡單的方法就是把從重心到邊界的距離作為角度的函數(shù)來標(biāo)記。

標(biāo)記與鏈碼同樣不受邊界平移的影響,但是當(dāng)邊界旋轉(zhuǎn)或者發(fā)生尺度變換時(shí),標(biāo)記格會發(fā)生改變。對于旋轉(zhuǎn)問題,可以采用類似于鏈碼的旋轉(zhuǎn)歸一化方法進(jìn)行解決。更常用的方法是通過固定標(biāo)記的起始點(diǎn)來歸一化。例如,可以選擇離重心最遠(yuǎn)的邊界點(diǎn)作為起始點(diǎn),或者選擇主軸上的某一點(diǎn)。雖然后者的計(jì)算量比較大,但是它比前者更加可靠,因?yàn)樗玫搅怂械倪吔琰c(diǎn)來參與計(jì)算。而對尺度變化則可以通過幅度的歸一化來處理。

庫模板篩法造價(jià)信息

市場價(jià) 信息價(jià) 詢價(jià)
材料名稱 規(guī)格/型號 市場價(jià)
(除稅)
工程建議價(jià)
(除稅)
行情 品牌 單位 稅率 供應(yīng)商 報(bào)價(jià)日期
清水模板 2440×1220×18 查看價(jià)格 查看價(jià)格

五棵松

m2 13% 五棵松木業(yè)有限公司
清水模板 2440×1220×12 查看價(jià)格 查看價(jià)格

m2 13% 五棵松木業(yè)有限公司
清水模板 2440×1220×15 查看價(jià)格 查看價(jià)格

五棵松

m2 13% 五棵松木業(yè)有限公司
模板 帶膜 楊木 查看價(jià)格 查看價(jià)格

13% 河南豐潤木業(yè)有限公司
模板 14MM厚,1.22*2.44 楊木 查看價(jià)格 查看價(jià)格

13% 鄭州市管城區(qū)愛紅模板經(jīng)營部
模板 品種:松木紅;規(guī)格 (mm):1830×915×13;實(shí)際厚度(mm):13;備注:出廠價(jià);系列:松木紅; 查看價(jià)格 查看價(jià)格

美森

13% 哈爾濱美森經(jīng)貿(mào)有限公司
模板 18MM厚,0.915*1.83 楊木 查看價(jià)格 查看價(jià)格

13% 鄭州市管城區(qū)愛紅模板經(jīng)營部
模板 15MM厚,1.22*2.44 楊木 查看價(jià)格 查看價(jià)格

13% 鄭州市管城區(qū)愛紅模板經(jīng)營部
材料名稱 規(guī)格/型號 除稅
信息價(jià)
含稅
信息價(jià)
行情 品牌 單位 稅率 地區(qū)/時(shí)間
模板 租賃 查看價(jià)格 查看價(jià)格

m2 深圳市2016年12月信息價(jià)
模板 購買 查看價(jià)格 查看價(jià)格

m2 深圳市2016年4月信息價(jià)
模板 租賃 查看價(jià)格 查看價(jià)格

m2 深圳市2016年4月信息價(jià)
模板 查看價(jià)格 查看價(jià)格

m2 深圳市2015年12月信息價(jià)
模板 查看價(jià)格 查看價(jià)格

m2 深圳市2015年12月信息價(jià)
建筑模板 1830×915×18一級白 查看價(jià)格 查看價(jià)格

佛山市2022年10月信息價(jià)
建筑模板 1830×915×18三級白 查看價(jià)格 查看價(jià)格

佛山市2022年10月信息價(jià)
建筑模板 1830×915×18三級白 查看價(jià)格 查看價(jià)格

佛山市2022年3季度信息價(jià)
材料名稱 規(guī)格/需求量 報(bào)價(jià)數(shù) 最新報(bào)價(jià)
(元)
供應(yīng)商 報(bào)價(jià)地區(qū) 最新報(bào)價(jià)時(shí)間
復(fù)合模板 復(fù)合模板|39.011m2 3 查看價(jià)格 成都同創(chuàng)友德商貿(mào)有限公司 全國   2020-11-27
復(fù)合模板 復(fù)合模板|35.628m2 3 查看價(jià)格 成都同創(chuàng)友德商貿(mào)有限公司 全國   2020-11-27
復(fù)合模板 復(fù)合模板|267.284m2 3 查看價(jià)格 成都同創(chuàng)友德商貿(mào)有限公司 全國   2020-11-27
復(fù)合模板 復(fù)合模板|34.177m2 3 查看價(jià)格 成都同創(chuàng)友德商貿(mào)有限公司 全國   2020-11-27
復(fù)合模板 復(fù)合模板|17903.104m2 3 查看價(jià)格 四川宏福建材貿(mào)易有限公司 四川   2020-07-09
復(fù)合模板 復(fù)合模板|4462.494m2 2 查看價(jià)格 成都久林建材有限公司 四川   2022-11-02
復(fù)合模板 復(fù)合模板|312.287m2 3 查看價(jià)格 成都同創(chuàng)友德商貿(mào)有限公司 全國   2020-11-27
BFA池模板 模板材質(zhì)為ABS|455m2 3 查看價(jià)格 東莞市步步升塑膠材料有限公司 全國   2019-10-15

文本圖像壓縮中需要創(chuàng)建在圖像中出現(xiàn)的形狀庫。這些形狀通常和字符有關(guān),在圖像中出現(xiàn)的形狀就會被指向圖形庫的指針替換。一般來說,雖然存在許多變體,但處理步驟包括如下:

  • 找出、分離并且抽取所有的標(biāo)記,即圖像中聚集在一起出現(xiàn)的黑色像素。

  • 建立一個(gè)包含圖像中發(fā)現(xiàn)所有標(biāo)記的庫

  • 通過識別圖像中的符號找到庫中與之最接近的標(biāo)記實(shí)現(xiàn),并度量一個(gè)標(biāo)記和下一個(gè)標(biāo)記的偏移值。

  • 壓縮符號順序和偏移并存儲入庫。由于這一步驟中所存儲的信息可以產(chǎn)生稱為重構(gòu)文本的原始圖像的近似,所以為了重構(gòu)圖像無損,需要包括下面處理步驟:存儲足夠的信息以完成從重構(gòu)文本中恢復(fù)原始圖像。

當(dāng)標(biāo)記被抽取出來以后,需要將其與已經(jīng)在庫中的標(biāo)記匹配,所有匹配庫成員的標(biāo)記都會被保存在一個(gè)集合中。如果當(dāng)前標(biāo)記與庫中現(xiàn)有的一個(gè)標(biāo)記足夠匹配的話,則將其添加到與改符號相應(yīng)的匹配標(biāo)記集中,盡管將一個(gè)標(biāo)記與每一個(gè)庫中模板進(jìn)行匹配查找出與其最接近模板的可靠,但在一個(gè)模板被發(fā)現(xiàn)于一個(gè)特定的相似閾值之內(nèi)時(shí)即立即終止運(yùn)算會更有效。如果沒有發(fā)現(xiàn)足夠近似的匹配點(diǎn),則將新標(biāo)記添加到庫中。模板匹配對成功識別標(biāo)記至關(guān)重要,匹配過程一般通過檢查誤差圖來實(shí)現(xiàn),誤差圖通過將新符號和庫成員逐比特進(jìn)行異或得到。在計(jì)算誤差圖之前,匹配的雙方必須要正確注冊。新符號添加在庫中每個(gè)符號之前,為此需要在庫中設(shè)置一個(gè)固定的參考點(diǎn)。

庫模板篩法是一種模板匹配方法,主要基于標(biāo)記的特征,與輸入標(biāo)記明顯不同的符號不必匹配,例如在寬度和長度上明顯不同的模板必定是不相似的。庫模板篩法主要基于面積和周長,當(dāng)抽取標(biāo)記后很容易得到這些數(shù)據(jù),然而在實(shí)踐的操作中并沒有看起來容易,一方面因?yàn)樗鼈兒蜆?biāo)記的寬度和高度有關(guān);另一方面因?yàn)樗鼈儗υ肼暫蛿?shù)字化過程的參數(shù)特別敏感。其他看上去更確定的特征是垂直和水平的白行程數(shù)。庫模板篩法的一個(gè)更好基礎(chǔ)應(yīng)該是比較兩個(gè)標(biāo)記中黑像素團(tuán)的分布。通過將像素根據(jù)其質(zhì)心注冊,然后將其劃分為圍繞質(zhì)心的4象限來實(shí)現(xiàn)。對于每個(gè)象限,計(jì)算其質(zhì)心:對4個(gè)局部質(zhì)心,分別計(jì)算其在兩個(gè)標(biāo)記中位置的距離,最后將4個(gè)距離平均。這一過程可能不斷地重復(fù),以確定一個(gè)基于原始質(zhì)心的0級上距離(改質(zhì)心距離為0,因?yàn)槭褂玫氖琴|(zhì)心注冊)、一個(gè)如上所述的1級上的距離,以及更高級上的距離。測試表明,優(yōu)良的篩選結(jié)果往往是在1級距離上獲得的,更復(fù)雜的處理并無必要。

庫模板篩法標(biāo)記常見問題

  • 關(guān)于清單庫中的模板與查詢措施中的模板

    1、廣東地區(qū),建筑工程比如梁套模板做法我是選則清單中的模板工程還是措施項(xiàng)目中的模板、腳手架工程 2、如果我選擇清單中的模板工程,在措施項(xiàng)目中打鉤,工程量表達(dá)式都變?yōu)?,但單位還是平方米,而不是項(xiàng),需要...

  • 圖形算量中,梁的模板套取清單庫中梁的模板還是套取措施中的模板

    這個(gè)清單看你要求定的,兩個(gè)清單是一個(gè)意思,如果套第一種做法則不在措施費(fèi)里面,直接在整個(gè)項(xiàng)目里面,套第二種就在措施費(fèi)里面,這個(gè)我在全費(fèi)用綜合清單就是用的第一種,措施費(fèi)清單單獨(dú)列項(xiàng)

  • 地下車庫模板含量

    建議到廣聯(lián)達(dá)造價(jià)信息指標(biāo)網(wǎng)找一下數(shù)據(jù)

概述

文本圖像(textual image 或 text image)是一種特殊類型的黑白二值圖像,它的主要特點(diǎn)是其內(nèi)容一般由文字部分組成。從數(shù)據(jù)壓縮的角度來看,文本圖像存在位圖和符號兩個(gè)層次的冗余,后者是由圖像中重復(fù)的符號引起的。針對文本圖像的壓縮標(biāo)準(zhǔn)和算法主要G3,G4JBIG和JBIG2等,其中 G3,G4和 JBIG 都是基于位圖層次的壓縮方法,而JBIG2是基于位圖和符號層次冗余的兩層壓縮方法。另外,基于混合光柵內(nèi)容( mixed raster content,MRC) 的DjVu 主要用于復(fù)合文檔的壓縮,它通過一個(gè)黑白二值掩碼(mask)將圖像分成前景和背景,然后對不同的部分再采用適合的算法分別進(jìn)行壓縮,其中對于掩碼的壓縮采用的是JB2算法。JB2 是 JBIG2 的一種變體,它和 JBIG2 的基本思想和實(shí)現(xiàn)方法都是類似的。JBIG2是最先進(jìn)的文本圖像壓縮算法,如上所述它實(shí)現(xiàn)了一個(gè)兩層壓縮結(jié)構(gòu):首先根據(jù)“字典”的思想,采用模式匹配策略將不同的符號存儲到一個(gè)模式字典中,這樣圖像中相同的符號就可以用字典中的匹配符號及其索引進(jìn)行替代;然后對于得到的字典、索引以及符號的位置信息再采用基于信息熵的算術(shù)編碼進(jìn)行壓縮。 模式匹配的過程中,所謂“相同”的符號是指其相對于人的視覺是相同的,而在位圖層次往往不完全相同。如何將視覺上相同的符號歸為一類是模式匹配算法面臨的一個(gè)很大挑戰(zhàn)。這是因?yàn)?,由于掃描過程中的抖動、噪音 等原因,有些視覺上相同的符號在位圖層次可能有比較大的差異,而某些外形接近的不同符號在位圖層次的差異可能是比較小的。和英文文本圖像相比,中文文本圖像中的字符集規(guī)模更大,很多漢字結(jié)構(gòu)比較復(fù)雜,且形近字非常多。中文文本圖像的這些特點(diǎn)增加了對符號進(jìn)行模式匹配的難度 。

JBIG2 是由 ITU和ISO組成的二值圖像聯(lián)合專家組(joint bi-level image expert group,JBIG)提出的一個(gè)壓縮標(biāo)準(zhǔn)。JBIG2 的一個(gè)重要特點(diǎn)是:只規(guī)定了解碼的標(biāo)準(zhǔn)和流程,而并沒有定義一個(gè)明確的編碼器。JBIG2 將編碼程序開放,是為了鼓勵研究者們針對不同特點(diǎn)的文本圖像開發(fā)更加高效的編碼算法。

JBIG2 的主要技術(shù)最早由美國貝爾實(shí)驗(yàn)室的Howard 等開發(fā),主要包括 “模式匹配與替換 ”(pattern matching and substitution,PM&S) 和“軟模式匹配”(soft pattern matching,SPM)技術(shù)。這些技術(shù)后來被ISO 采納成為了 JBIG2 標(biāo)準(zhǔn)的一部分。美國加州大學(xué)圣地亞哥分校的 Ye 等對JBIG2 進(jìn)行了系統(tǒng)的研究 ,主要從符號字典設(shè)計(jì) 、模式匹配速度和有損壓縮的重構(gòu)圖像質(zhì)量控制等方面提出了很多先進(jìn)的算法。對于有損壓縮系統(tǒng),Ye 等針對英文字符的特點(diǎn)提取了符號的尺寸、象限矩心距離(quadrant centroid distance,QCD)以及拓?fù)浣Y(jié)構(gòu)作為特征,并利用這些特征來減少有損壓縮中的替換誤差。由于 Ye 等在 JBIG2 方面所做出的出色工作,其研究成果通過加州大學(xué)圣地亞哥分校的技術(shù)轉(zhuǎn)移部門轉(zhuǎn)讓給了Apago 公司并應(yīng)用到其商業(yè)化的產(chǎn)品中,成功實(shí)現(xiàn)了技術(shù)成果的轉(zhuǎn)化。

意義

對于一些非常重要的正式文件,它的主要存儲方式為文本圖像。與文本文件相比較,圖像文件能夠?qū)鼍案又庇^、真實(shí)的進(jìn)行表述,對其不易進(jìn)行篡改或者偽造。比如一些更能體現(xiàn)其真實(shí)性和有效性的圖像文件,如包含手寫簽名、銀行票據(jù)的圖像文件。當(dāng)今社會,不管是在商業(yè)經(jīng)濟(jì)方面還是政府部門等領(lǐng)域,對于很多重要的信息都是以電子圖片的方式進(jìn)行交流的。然而,不管是什么事物,它都具有兩面性,在圖像文件的管理方面,有著不容忽視的劣勢。如果用圖像的形式存儲文字信息,信息量將變得很大,所需的存儲空間也比電子文本文件大,不利于文字信息的快速識別。隨著計(jì)算機(jī)技術(shù)的進(jìn)步,這些不足將會逐漸被克服。

  • 文本圖像檢索的實(shí)際應(yīng)用涉及面廣,可以運(yùn)用到辦公的文件管理、日常生活的文件查詢、國企銀行單位票據(jù)文件查詢和檢索等多個(gè)方面。

  • 文本圖像文件的高效、智能分類。在工作中,為了提高管理效率、使得信息的查詢更加方便,就需要對大量的文本圖像信息做一定的整理和分類。比如公司合同文件,它是依據(jù)公司標(biāo)志信息的不同,利用文本圖像檢索技術(shù)將大量的錯綜復(fù)雜的圖像文件進(jìn)行分類和歸檔,高效智能的完成圖像文件的管理,提高了業(yè)務(wù)辦公的智能性和效率。

  • 文本圖像自動查詢。雖然已經(jīng)有 PDF、WORD 等電子文檔查詢的應(yīng)用軟件,但是用于檢索文本圖像內(nèi)容的應(yīng)用軟件很罕見。日常生活中對文本圖像文件檢索的需求卻在增加。如果對大量文本圖像進(jìn)行管理,不僅需要大量的人力、物力,而且工作量也非常大。尤其是需要查找圖片文件中的關(guān)鍵字等特定信息,就要人工進(jìn)行查看每張圖的內(nèi)容,并且還要相當(dāng)仔細(xì),導(dǎo)致工作量的增加,效率也不高,不但成本耗費(fèi)大,也不能滿足當(dāng)前實(shí)際應(yīng)用的需求。本文所研究的文本圖像自動檢索技術(shù)實(shí)現(xiàn)文本圖像文件的快速查詢和智能管理,能夠幫助文件管理

  • 人員快速、高效地處理圖像文本文件,具有較大的實(shí)際應(yīng)用意義。

  • 知識產(chǎn)權(quán)保護(hù)。隨著 IP 時(shí)代的到來,人們對知識產(chǎn)權(quán)也越來越重視,并頒布了相關(guān)法律對其進(jìn)行保護(hù)。為了有效地管理和搜索查詢只是產(chǎn)權(quán)文件,可以使用文本圖像檢索技術(shù)。圖像文件保證了產(chǎn)權(quán)文件的不易篡改,自動檢索技術(shù)提供了關(guān)鍵信息的快捷查詢。隨著文本圖像文件量的急劇增加,文本圖像的檢索技術(shù)的作用體現(xiàn)得越來越明顯。

  • 合同管理。在當(dāng)今法制社會中,具有法律效力的合同文件是經(jīng)濟(jì)市場中不可或缺的文件。合同文件的關(guān)鍵信息之一是個(gè)人簽章或者手寫簽名。在合同文件圖像的管理中,管理文件的員工不需要埋頭在紙質(zhì)文檔中尋找領(lǐng)導(dǎo)需要的合同文件,只需敲敲手指就能在計(jì)算機(jī)上查找出來。手寫字體的自動檢索技術(shù)應(yīng)用到合同圖像文件中個(gè)人簽名內(nèi)容的識別,將大大提高對合同管理的效率。

  • 其它用途。文本圖像檢索技術(shù)同樣可以應(yīng)用到軍事中,對危險(xiǎn)病毒文件自動監(jiān)控和攔截以及對遠(yuǎn)方地理信息的描述等等。

2100433B

庫模板篩法標(biāo)記文獻(xiàn)

車庫模板 車庫模板

格式:pdf

大?。?span id="oog0a00" class="single-tag-height">668KB

頁數(shù): 37頁

評分: 4.7

良鄉(xiāng)三街家園北里 B 區(qū)車庫模板工程施工方案 目 錄 一、編制依據(jù)

立即下載
公路工程項(xiàng)目-粗集料篩分試驗(yàn)記錄表(干篩法)(模板) 公路工程項(xiàng)目-粗集料篩分試驗(yàn)記錄表(干篩法)(模板)

格式:pdf

大?。?span id="oe20yog" class="single-tag-height">668KB

頁數(shù): 1頁

評分: 4.7

報(bào)告編號: 第 頁, 共 頁 粗集料篩分試驗(yàn)記錄表(干篩法) JJ0201a 試驗(yàn)室名稱: 中咨公路養(yǎng)護(hù)檢測技術(shù)有限公司 記錄編號: 工程部位 /用途 委托 / 任務(wù)編號 樣品名稱 樣品編號 試驗(yàn)依據(jù) JTG E42-2005 T 0302-2005 樣品描述 試驗(yàn)條件 溫度: 濕度: 試驗(yàn)日期 主要儀器設(shè)備及 編號 標(biāo)準(zhǔn)篩( JJL-1-1 )、電子天平( JTG-4)、烘箱( JLQ-3)等 干燥試樣總量 m0 (g) 第 1 組 第 2組 平均 篩孔尺寸( mm) 篩上質(zhì)量mi (g) 分計(jì)篩余 (%) 累計(jì)篩余 (%) 通過百分率 (%) 篩上質(zhì)量mi (g) 分計(jì)篩余 (%) 累計(jì)篩余 (%) 通過百分率 (%) 通過百分 率(%) (1) (2) (3) (4) (1) (2) (3) (4) (5) 53 37.5 31.5 26.5 19 16 13.2

立即下載

標(biāo)準(zhǔn)模板庫是一個(gè)C 軟件庫,大量影響了C 標(biāo)準(zhǔn)程序庫但并非是其的一部分。其中包含4個(gè)組件,分別為算法、容器、函數(shù)、迭代器。

模板是C 程序設(shè)計(jì)語言中的一個(gè)重要特征,而標(biāo)準(zhǔn)模板庫正是基于此特征。標(biāo)準(zhǔn)模板庫使得C 編程語言在有了同Java一樣強(qiáng)大的類庫的同時(shí),保有了更大的可擴(kuò)展性。

在C 標(biāo)準(zhǔn)中,STL被組織為下面的13個(gè)頭文件:、 、 、 、 、 、 、 、 、

標(biāo)準(zhǔn)模板庫歷史

標(biāo)準(zhǔn)模板庫系由Alexander Stepanov創(chuàng)造于1979年前后,這也正是比雅尼·斯特勞斯特魯普創(chuàng)造C 的年代。

雖然David R. Musser于1971年開始即在計(jì)算機(jī)幾何領(lǐng)域發(fā)展并倡導(dǎo)某些泛型程序設(shè)計(jì)觀念,但早期并沒有任何編程語言支持泛型程序設(shè)計(jì)。第一個(gè)支持泛型概念的語言是Ada。Alex和Musser曾于1987開發(fā)出一套相關(guān)的Ada library.

標(biāo)準(zhǔn)模板庫設(shè)計(jì)人Stepanov早期從事教育工作,1970年代研究泛型程序設(shè)計(jì),那時(shí)他與其同事一起在GE公司開發(fā)出一個(gè)新的程序語言——Tecton。

1983年,Stepanov先生轉(zhuǎn)至Polytechnic大學(xué)教書,繼續(xù)研究泛型程序設(shè)計(jì),同時(shí)寫了許多Scheme的程序,應(yīng)用在graph與network的算法上,1985年又轉(zhuǎn)至GE公司專門教授高階程序設(shè)計(jì),并將graph與network的Scheme程序,改用Ada寫,用了Ada以后,他發(fā)現(xiàn)到一個(gè)動態(tài)(dynamically)類型的程序(如Scheme)與強(qiáng)制(strongly)類型的程序(如Ada)有多么的不同。

在動態(tài)類型的程序中,所有類型都可以自由的轉(zhuǎn)換成別的類型,而強(qiáng)制類型的程序卻不能。但是,強(qiáng)制類型在出錯時(shí)較容易發(fā)現(xiàn)程序錯誤。

1988年Stepanov先生轉(zhuǎn)至HP公司運(yùn)行開發(fā)泛型程序庫的工作。此時(shí),他已經(jīng)認(rèn)識C語言中指針(pointer)的威力,他表示一個(gè)程序員只要有些許硬件知識,就很容易接受C語言中指針的觀念,同時(shí)也了解到C語言的所有數(shù)據(jù)結(jié)構(gòu)均可以指針間接表示,這點(diǎn)是C與Ada、Scheme的最大不同。

Stepanov并認(rèn)為,雖然C 中的繼承功能可以表示泛型設(shè)計(jì),但終究有個(gè)限制。雖然可以在基礎(chǔ)類型(superclass)定義算法和接口,但不可能要求所有對象皆是繼承這些,而且龐大的繼承體系將減低虛擬(virtual)函數(shù)的運(yùn)行效率,這便違反的前面所說的“效率”原則。

到了C 模板觀念,Stepanov參加了許多有關(guān)的研討會,與C 之父Bjarne討論模板的設(shè)計(jì)細(xì)節(jié)。如,Stepanov認(rèn)為C 的函數(shù)模板(function template)應(yīng)該像Ada一樣,在聲明其函數(shù)原型后,應(yīng)該顯式的聲明一個(gè)函數(shù)模板之實(shí)例(instance);Bjarne則不然,他認(rèn)為可以通過C 的重載(overloading)功能來表達(dá)。

Stepanov想像中的函數(shù)模板:

in*.hpp
template
             
              
Tsquare(Tx){returnx*x;}

in*.cpp
doublesquare(double);
cout<
               
               

Bjarne認(rèn)為的函數(shù)模板:

in*.hpp
template
                
                 
Tsquare(Tx){returnx*x;}

in*.cpp
cout<
                  
                  

幾經(jīng)爭辯,Stepanov發(fā)現(xiàn)Bjarne是對的(引用侯俊杰《標(biāo)準(zhǔn)模板庫講座·第三章》)。事后Stepanov回想起來非常同意Bjarne的作法。

template 引數(shù)推導(dǎo)機(jī)制(arguments deduction ,在標(biāo)準(zhǔn)模板庫中占非常重要的角色。Alexander Stepanov(標(biāo)準(zhǔn)模板庫創(chuàng)造者)在與Dr. Dobb's Journal進(jìn)行的訪談中說道‘1992 我重回generic-library的開發(fā)工作。這時(shí)候C 有了template

“我發(fā)現(xiàn)Bjarne完成了一個(gè)非常美妙的設(shè)計(jì)。之前我在Bell Lab曾參與數(shù)次template的相關(guān)設(shè)計(jì)討論,并且非常粗暴地要求Bjarne應(yīng)該將C template設(shè)計(jì)得盡可能像Ada generics那樣。我想由于我的爭辯是如此地粗暴,他決定反對。我了解到在C 中除了擁有template classes之外還擁有template functions的重要性。然而我認(rèn)為template function應(yīng)該像Ada generics一樣,也就是說它們應(yīng)該是顯式實(shí)例,Bjarne沒有聽進(jìn)我的話,他設(shè)計(jì)了一個(gè)template function機(jī)制,其中的template是以一個(gè)重載化機(jī)制 (overloading mechanism來進(jìn)行隱式實(shí)例這項(xiàng)特殊的技術(shù)對我的工作具有關(guān)鍵性的影響,因?yàn)槲野l(fā)現(xiàn)它使我得以完成Ada不可能完成的許多動作。我非常高興Bjarne當(dāng)初沒有聽我的意見?!―DJ 1995 年三月號)”

事實(shí)上,C 的模板,本身即是一套復(fù)雜的宏語言(macro language),宏語言最大的特色為:所有工作在編譯時(shí)期就已完成。顯式的聲明函數(shù)模板之實(shí)例,與直接通過C 的重載功能隱式聲明,結(jié)果一樣,并無很大區(qū)別,只是前者加重程序員的負(fù)擔(dān),使得程序變得累贅。

1992年Meng Lee加入Alex的項(xiàng)目,成為另一位主要貢獻(xiàn)者。

1992年,HP泛型程序庫項(xiàng)目結(jié)束,小組解散,只剩下Stepanov先生與Meng Lee小姐(她是東方人,標(biāo)準(zhǔn)模板庫的英文名稱其實(shí)是取STepanov與Lee而來),Lee先前研究的是編譯器的制作,對C 的模板很熟,第一版的標(biāo)準(zhǔn)模板庫中許多程序都是Lee的杰作。

1993年,Andy Koenig到史丹佛演講,Stepanov便向他介紹標(biāo)準(zhǔn)模板庫,Koenig聽后,隨即邀請Stepanov參加1993年11月的ANSI/ISO C 標(biāo)準(zhǔn)化會議,并發(fā)表演講。

Bell實(shí)驗(yàn)室的Andrew Koenig于1993年知道標(biāo)準(zhǔn)模板庫研究計(jì)劃后,邀請Alex于是年11月的ANSI/ISO C 標(biāo)準(zhǔn)委員會會議上展示其觀念。并獲得與會者熱烈的回應(yīng)。

1994年1月6日,Koenig寄封電子郵件給Stepanov,表示如果Stepanov愿意將標(biāo)準(zhǔn)模板庫的幫助文檔撰寫齊全,在1月25日前提出,便可能成為標(biāo)準(zhǔn)C 的一部分。Stepanov回信道:"Andy, are you crazy" 。 Koenig便說:"Well, yes I am crazy,but why not try it"。

Alex于是在次年夏天在Waterloo舉行的會議前完成其正式的提案,并以百分之八十壓倒性多數(shù),一舉讓這個(gè)巨大的計(jì)劃成為C Standard的一部分。

標(biāo)準(zhǔn)模板庫于1994年2月年正式成為ANSI/ISO C 的一部分,它的出現(xiàn),促使C 程序員的思維方式更朝向泛型編程(generic program)發(fā)展。

標(biāo)準(zhǔn)模板庫內(nèi)容

STL 將“在數(shù)據(jù)上執(zhí)行的操作”與“要執(zhí)行操作的數(shù)據(jù)分開”,分別以如下概念指代:

  • 容器:包含、放置數(shù)據(jù)的地方。

  • 迭代器:在容器中指出一個(gè)位置、或成對使用以劃定一個(gè)區(qū)域,用來限定操作所涉及到的數(shù)據(jù)范圍。

  • 算法:要執(zhí)行的操作。

標(biāo)準(zhǔn)模板庫包含了序列容器(sequence containers)與關(guān)系容器(associative containers)。

序列容器包括vector,list,forward_list,deque和array等。

關(guān)聯(lián)容器包括set,multiset,map,multimap,unordered_set,bitset和valarray等。

標(biāo)準(zhǔn)模板庫迭代器

迭代器是泛化的指針,通過使用迭代器,開發(fā)者可以操作數(shù)據(jù)結(jié)構(gòu)而無需關(guān)心其內(nèi)部實(shí)現(xiàn)。根據(jù)迭代器的操作方式的不同,迭代器分為五種:

  • 輸入迭代器

  • 輸出迭代器

  • 前向迭代器

  • 雙向迭代器

  • 隨機(jī)訪問迭代器

標(biāo)準(zhǔn)模板庫算法

STL提供了一些常見 的算法,如排序和搜索等。這些算法與數(shù)據(jù)結(jié)構(gòu)的實(shí)現(xiàn)進(jìn)行了分離。因此,用于也可對自定義的數(shù)據(jù)結(jié)構(gòu)使用這些算法,只需讓這些自定義的數(shù)據(jù)結(jié)構(gòu)擁有算法所預(yù)期的迭代器。

標(biāo)準(zhǔn)模板庫函數(shù)對象

狹義的函數(shù)對象即重載了操作符()的類的實(shí)例,而廣義來講所有可用 x(...) 形式調(diào)用的 x 都可稱為函數(shù)對象、或曰可調(diào)用對象。

標(biāo)準(zhǔn)模板庫適配器

適配器(Adaptor)為一個(gè)模板類,用于提供接口映射。

標(biāo)準(zhǔn)模板庫與C 標(biāo)準(zhǔn)程序庫的差異

一個(gè)常見的誤解是STL是C 標(biāo)準(zhǔn)程序庫的一部分,但事實(shí)上并非如此。例如hash table的數(shù)據(jù)結(jié)構(gòu)實(shí)當(dāng)前STL中有 模板可供調(diào)用,但C 標(biāo)準(zhǔn)程序庫一直到C 11才加入了 。 2100433B

afximpl.h 實(shí)現(xiàn)了一套模板庫,如CArray, CList, CMap等。因?yàn)樵诎l(fā)布時(shí)STL尚未進(jìn)入C 語言標(biāo)準(zhǔn),因此ATL自行開發(fā)實(shí)現(xiàn)了一套。

ATL定義三個(gè)宏來來影響生成的COM服務(wù)器的優(yōu)化。

  • _ATL_MIN_CRT 服務(wù)器不鏈接標(biāo)準(zhǔn)的C/C 運(yùn)行庫,并且ATL提供了函數(shù)malloc、realloc、new和delete的一個(gè)實(shí)現(xiàn)。不能調(diào)用任何其他的C/C 運(yùn)行庫的函數(shù)。_mainATL向?qū)傻腁TL工程為所有的Release版本的定義了_ATL_MIN_CRT,但是沒有為Debug版本定義這個(gè)符號宏。

  • _ATL_DLL 服務(wù)器動態(tài)鏈接工具函數(shù)庫atl.dll

  • _ATL_STATIC_REGISTRY 服務(wù)器靜態(tài)鏈接對組件注冊的支持

Debug配置沒有定義上述三個(gè)符號宏。Release MinSize配置定義了_ATL_MIN_CRT和_ATL_DLL。Release MinDependency配置定義了_ATL_MIN_CRT和_ATL_STATIC_REGISTRY。

庫模板篩法相關(guān)推薦
  • 相關(guān)百科
  • 相關(guān)知識
  • 相關(guān)專欄

最新詞條

安徽省政采項(xiàng)目管理咨詢有限公司 數(shù)字景楓科技發(fā)展(南京)有限公司 懷化市人民政府電子政務(wù)管理辦公室 河北省高速公路京德臨時(shí)籌建處 中石化華東石油工程有限公司工程技術(shù)分公司 手持無線POS機(jī) 廣東合正采購招標(biāo)有限公司 上海城建信息科技有限公司 甘肅鑫禾國際招標(biāo)有限公司 燒結(jié)金屬材料 齒輪計(jì)量泵 廣州采陽招標(biāo)代理有限公司河源分公司 高鋁碳化硅磚 博洛尼智能科技(青島)有限公司 燒結(jié)剛玉磚 深圳市東海國際招標(biāo)有限公司 搭建香蕉育苗大棚 SF計(jì)量單位 福建省中億通招標(biāo)咨詢有限公司 泛海三江 威海鼠尾草 廣東國咨招標(biāo)有限公司 Excel 數(shù)據(jù)處理與分析應(yīng)用大全 甘肅中泰博瑞工程項(xiàng)目管理咨詢有限公司 山東創(chuàng)盈項(xiàng)目管理有限公司 當(dāng)代建筑大師 廣西北纜電纜有限公司 拆邊機(jī) 大山檳榔 上海地鐵維護(hù)保障有限公司通號分公司 甘肅中維國際招標(biāo)有限公司 舌花雛菊 華潤燃?xì)猓ㄉ虾#┯邢薰? 湖北鑫宇陽光工程咨詢有限公司 GB8163標(biāo)準(zhǔn)無縫鋼管 中國石油煉化工程建設(shè)項(xiàng)目部 韶關(guān)市優(yōu)采招標(biāo)代理有限公司 莎草目 建設(shè)部關(guān)于開展城市規(guī)劃動態(tài)監(jiān)測工作的通知 電梯平層準(zhǔn)確度 廣州利好來電氣有限公司 蘇州弘創(chuàng)招投標(biāo)代理有限公司