Guía de desarrollo de Boost - 3.11 pool_alloc

pool_alloc

pool_alloc proporciona dos asignadores de memoria que se pueden usar para los parámetros de plantilla de contenedor estándar, a saber, pool_alloc y fast_pool_allocator, su comportamiento es un poco diferente de la clase de grupo de memoria anterior: cuando falla la asignación de memoria, se lanzará una excepción std::bad_alloc . Están ubicados en el impulso del espacio de nombres y deben incluir el archivo de encabezado <boost/pool/pool_alloc.hpp>.

A menos que haya una necesidad especial, siempre debemos usar la biblioteca estándar para implementar el asignador de memoria incorporado. El uso de pool_alloc debe probarse cuidadosamente para garantizar que pueda funcionar con el contenedor.

ejemplo de código

#include <boost/pool/pool_alloc.hpp>
using namespace boost;

void case5()
{
    
    
	vector<int, pool_allocator<int> > v; //pool_allocator代替默认的内存分配器

	v.push_back(10); //vector将使用新的分配器良好工作
	cout << v.size();
}

int main()
{
    
    
	case5();
}

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_36314864/article/details/132067513
Recomendado
Clasificación