分配器是幹嘛用的

來源:趣味百科館 1.13W

分配器是幹嘛用的

分配器用於封裝STL容器在內存管理上的低層細節。默認情況下,C++標準庫使用其自帶的通用分配器,但根據具體需要,程序員也可自行定製分配器以替代之。自定義分配器的另一用途是調試內存相關錯誤。若要做到這一點,可以編寫一個分配器,令之在分配時分配額外的內存,並藉此存放調試信息。這類分配器不僅可以保證內存由同類分配器分配/解除分配內存,還可在一定程度上保護程序免受緩存溢出之害。

使用方法:當初始化標準容器時,若需使用自定分配器,則可將其寫入模板參數,以代替默認的std::allocator<T>,正如其他所有C++類模板般,在初始化同一標準庫容器時,若使用了不同的分配器,則所生成容器的類型亦不同。譬如,若函數需一整型向量數組std::vector<int>作爲參數,則其只能接受由默認分配器生成的整型向量數組。


熱門標籤