欢迎到:8366cc银河娱乐线路检测

全国热线:0755-29674424

Banner

产品类别

行业知识
首页 > 行业知识 > 内容
什么是纸巾分配器?
编辑:8366cc银河娱乐线路检测   时间:2019-12-21

  纸巾是日常生活用品,纸巾成分有氯、漂白粉、酒精、木浆及可再生资源。纸巾种类多种多样。

  在C++编程中,纸巾分配器(英语:allocator)是C++规范库的重要组成部分。C++的库中界说了多种被统称为“容器”的数据结构(如链表、调集等),这些容器的共同特征之一,便是其大小能够在程序的运转时改变;为了完成这一点,进行动态内存分配就显得尤为必要,在此纸巾分配器就用于处理容器对内存的分配与开释请求。

  换句话说,纸巾分配器用于封装STL容器在内存管理上的低层细节。默许情况下,C++规范库使用其自带的通用纸巾分配器,但依据具体需要,程序员也可自行定制纸巾分配器以替代之。

  纸巾分配器很早由亚历山大·斯特潘诺夫作为C++规范模板库(Standard Template Library,简称STL)的一部分发明,其初衷是创造一种能“使库愈加灵敏,并能独立于底层数据模型的办法”,并答应程序员在库中使用自界说的指针和引证类型;但在将规范模板库归入C++规范时,C++规范委员会意识到对数据模型的完全抽象化处理会带来不行承受的功能损耗,为作折中,规范中对纸巾分配器的约束变得愈加严格,而有鉴于此,与斯特潘诺夫原先的设想比较,现有规范所描述的纸巾分配器可定制程度已大大受限。

  尽管纸巾分配器的定制有所约束,但在许多情况下,仍需要用到自界说的纸巾分配器,而这一般是为封装对不同类型内存空间(如同享内存与已回收内存)的访问方式,或在使用内存池进行内存分配时提高功能而为。除此以外,从内存占用和运转时间的角度看,在频频进行少数内存分配的程序中,若引进为之专门定制的纸巾分配器,也会获益良多。