今天就跟大家聊聊有關(guān)分配器有什么作用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
嘉興網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),嘉興網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為嘉興成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的嘉興做網(wǎng)站的公司定做!
分配器是C++標(biāo)準(zhǔn)庫的重要組成部分,作用是:處理容器對內(nèi)存的分配與釋放請求。換句話說,分配器用于封裝STL容器在內(nèi)存管理上的低層細(xì)節(jié)。
分配器的作用
在C++編程中,分配器(英語:allocator)是C++標(biāo)準(zhǔn)庫的重要組成部分。
C++的庫中定義了多種被統(tǒng)稱為“容器”的數(shù)據(jù)結(jié)構(gòu)(如鏈表、集合等),這些容器的共同特征之一,就是其大小可以在程序的運(yùn)行時(shí)改變;為了實(shí)現(xiàn)這一點(diǎn),進(jìn)行動(dòng)態(tài)內(nèi)存分配就顯得尤為必要,在此分配器就用于處理容器對內(nèi)存的分配與釋放請求。
換句話說,分配器用于封裝STL容器在內(nèi)存管理上的低層細(xì)節(jié)。
默認(rèn)情況下,C++標(biāo)準(zhǔn)庫使用其自帶的通用分配器,但根據(jù)具體需要,程序員也可自行定制分配器以替代之。
分配器最早由亞歷山大·斯特潘諾夫作為C++標(biāo)準(zhǔn)模板庫(Standard Template Library,簡稱STL)的一部分發(fā)明,其初衷是創(chuàng)造一種能“使庫更加靈活,并能獨(dú)立于底層數(shù)據(jù)模型的方法”,并允許程序員在庫中利用自定義的指針和引用類型;
但在將標(biāo)準(zhǔn)模板庫納入C++標(biāo)準(zhǔn)時(shí),C++標(biāo)準(zhǔn)委員會(huì)意識(shí)到對數(shù)據(jù)模型的完全抽象化處理會(huì)帶來不可接受的性能損耗,為作折中,標(biāo)準(zhǔn)中對分配器的限制變得更加嚴(yán)格,而有鑒于此,與斯特潘諾夫原先的設(shè)想相比,現(xiàn)有標(biāo)準(zhǔn)所描述的分配器可定制程度已大大受限。
雖然分配器的定制有所限制,但在許多情況下,仍需要用到自定義的分配器,而這一般是為封裝對不同類型內(nèi)存空間(如共享內(nèi)存與已回收內(nèi)存)的訪問方式,或在使用內(nèi)存池進(jìn)行內(nèi)存分配時(shí)提高性能而為。除此以外,從內(nèi)存占用和運(yùn)行時(shí)間的角度看,在頻繁進(jìn)行少量內(nèi)存分配的程序中,若引入為之專門定制的分配器,也會(huì)獲益良多。
看完上述內(nèi)容,你們對分配器有什么作用有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
文章題目:分配器有什么作用
網(wǎng)站URL:http://aaarwkj.com/article40/jegoeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、虛擬主機(jī)、網(wǎng)站維護(hù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)