分配器(英語:allocator)是C++標準庫的重要組成部分。C++的庫中定義了多種被統稱為“容器”的數據結構(如鏈表、集合等),這些容器的共同特征之一,就是其大小可以在程序的運行時改變;為了實現這一點,進行動態(tài)內存分配就顯得尤為必要,在此分配器就用于處理容器對內存的分配與釋放請求。換句話說,分配器用于封裝STL容器在內存管理上的低層細節(jié)。默認情況下,C++標準庫使用其自帶的通用分配器,但根據具體需要,程序員也可自行定制分配器以替代之。分配器較早由亞歷山大·斯特潘諾夫作為C++標準模板庫(Standard Template Library,簡稱STL)的一部分發(fā)明,其初衷是創(chuàng)造一種能“使庫較加靈活,并能獨立于底層數據模型的方法”,并允許程序員在庫中利用自定義的指針和引用類型;但在將標準模板庫納入C++標準時,C++標準**意識到對數據模型的完全抽象化處理會帶來不可接受的性能損耗,為作折中,標準中對分配器的限制變得較加嚴格,而有鑒于此,與斯特潘諾夫原先的設想相比,現有標準所描述的分配器可定制程度已大大受限。雖然分配器的定制有所限制,但在許多情況下,仍需要用到自定義的分配器,而這一般是為封裝對不同類型內存空間(如共享內存與已回收內存)的訪問方式,或在使用內存池進行內存分配時提高性能而為。除此以外,從內存占用和運行時間的角度看,在頻繁進行少量內存分配的程序中,若引入為之專門定制的分配器,也會獲益良多定義自定義分配器的主要原因之一是提升性能。利用**的自定義分配器可以提高程序的性能,又或提高內存使用效率,亦或兩者兼而有之。默認分配器使用new操作符分配存儲空間,而這常利用C語言堆分配函數(malloc())實現。由于堆分配函數常針對偶發(fā)的內存大量分配作優(yōu)化,因此在為需要一次分配大量內存的容器(如向量、雙端隊列)分配內存時,默認分配器一般效率良好。但是,對于關聯容器與雙向鏈表這類需要頻繁分配少量內存的容器來說,若采用默認分配器分配內存,則通常效率很低。除此之外,基于malloc()的默認分配器還存在許多問題,諸如較差的引用局部性,以及可能造成內存碎片化。有鑒于此,在這一情況下,人們常使用基于內存池的分配器來解決頻繁少量分配問題。與默認的“按需分配”方式不同,在使用基于內存池的分配器時,程序會預先為之分配大塊內存(即“內存池”),而后在需要分配內存時,自定義分配器只需向請求方返回一個指向池內內存的指針即可;而在對象析構時,并不需實際解除分配內存,而是延遲到內存池的生命周期完結時才真正解除分配。
上海祥樹實業(yè)發(fā)展有限公司專注于傳感器,傳動軸,流量計等
詞條
詞條說明
分離器要能保持良好的分離效果,需對其液位和壓力進行控制。傳統分離器液位和壓力的控制采用定壓控制技術。在分離器的變壓力液面控制中,利用浮子液面控制器帶動油和氣調節(jié)閥,使其聯合動作,控制原油和天然氣的液量,完成對分離器中液位的調節(jié),而不對分離器的壓力進行控制。變壓力的液面控制方法可以程度地減小油氣出口閥的節(jié)流,減小分離器的壓力,提高分離效果。油氣分離器和油氣水三相分離器在油田接轉站和聯合站中有著廣泛的
光柵是結合數碼科技與傳統印刷的技術,能在特制的膠片上顯現不同的特殊效果。在平面上展示栩栩如生的立體世界,電影般的流暢動畫片段,匪夷所思的幻變效果。光柵是一張由條狀透鏡組成的薄片,當我們從鏡頭的一邊看過去,將看到在薄片另一面上的一條很細的線條上的圖像,而這條線的位置則由觀察角度來決定。如果我們將這數幅在不同線條上的圖像,對應于每個透鏡的寬度,分別按順序分行排列印刷在光柵薄片的背面上,當我們從不同角度
軸套是套在轉軸上的筒狀機械零件,是滑動軸承的一個組成部分。一般來說,軸套與軸承座采用過盈配合,而與軸采用間隙配合。軸瓦相當于滑動軸承的外環(huán),軸套是整體的,并且相對軸是運動的,而軸瓦有的是分片的,相對軸是旋轉的。在LEGO Mindstorms 系列與BioTrans RoSys系列機器人組件中軸套特指銀灰色的樂高標準軸固定器,分全軸套和1/2軸套兩種。各大水利發(fā)電機組上的各類軸套,主要材料有ZQA
光柵是結合數碼科技與傳統印刷的技術,能在特制的膠片上顯現不同的特殊效果。在平面上展示栩栩如生的立體世界,電影般的流暢動畫片段,匪夷所思的幻變效果。光柵是一張由條狀透鏡組成的薄片,當我們從鏡頭的一邊看過去,將看到在薄片另一面上的一條很細的線條上的圖像,而這條線的位置則由觀察角度來決定。如果我們將這數幅在不同線條上的圖像,對應于每個透鏡的寬度,分別按順序分行排列印刷在光柵薄片的背面上,當我們從不同角度
公司名: 上海祥樹實業(yè)發(fā)展有限公司
聯系人: 李海波
電 話: 021-26733269
手 機: 18175263379
微 信: 18175263379
地 址: 上海閔行顓橋都會路2338號121棟
郵 編: