std::vector
фактически вообще не выделяет никакой памяти, поскольку это делается распределителями, которые могут быть предоставлены при построении вектора.Вектор только управляет памятью, которую выделяет распределитель.Он использует std :: allocator по умолчанию, но вы можете легко написать свой собственный распределитель, используя AERT_Allocate
.Он должен соответствовать распределителю с именованными требованиями , а это означает, что вы должны предоставить достаточный интерфейс для шаблонов для работы.
Например, вы, вероятно, захотите поместить AERT_Allocate
вallocate()
функция-член вашего распределителя, которая является одним из именованных требований распределителя.