在C++编程中,分配器(英语:allocator)是C++标准库的重要组成部分。C++的库中定义了多种被统称为“容器”的数据结构(如链表、集合等),这些容器的共同特征之一,就是其大小可以在程序的运行时改变;为了实现这一点,进行动态内存分配就显得尤为必要,在此分配器就用于处理容器对内存的分配与释放请求。换句话说,分配器用于封装STL容器在内存管理上的低层细节。默认情况下,C++标准库使用其自带的通用分配器,但根据具体需要,程序员也可自行定制分配器以替代之。
虽然分配器的定制有所限制,但在许多情况下,仍需要用到自定义的分配器,而这一般是为封装对不同类型内存空间(如共享内存与已回收内存)的访问方式,或在使用内存池进行内存分配时提而为。除此以外,从内存占用和运行时间的角度看,在频繁进行少量内存分配的程序中,若引入为之定制的分配器,也会获益良多。 [1]
在音视频领域中,视频分配器是一种能将1路视频信号分成多路视频同步输出并具有将视频信号放大能力的设备;一般在短距离内,输出的视频画面实时同步、互不影响;常见的视频分配器有:1进2出、1进4出、1进8出、1进16出、1进24出、1进32出、2进8出等等;一点的视频分配器还支持多台相同的机器级联拓展出更多输出接口以及视频无损输出