Shenzhen Tianteng Industry Co., Ltd
You Are Here:Inicio > NOTICIAS > Contenido
El distribuidor es una parte importante de la biblioteca estándar de C ++ en la programación en C ++
Jun 25, 2018

En la programación C ++, el asignador es una parte importante de la biblioteca estándar de C ++. La biblioteca de C ++ define una variedad de estructuras de datos (como listas vinculadas, colecciones, etc.) que colectivamente se denominan "contenedores". Una de las características comunes de estos contenedores es que sus tamaños se pueden cambiar en tiempo de ejecución; para lograr esto, la asignación de memoria dinámica es particularmente necesaria, en este dispensador se utiliza para tratar las solicitudes de liberación y asignación de memoria del contenedor. En otras palabras, el asignador se usa para encapsular los detalles de bajo nivel de la administración de memoria en contenedores STL. Por defecto, la biblioteca estándar de C ++ utiliza su propio asignador universal, pero los programadores también pueden personalizar el distribuidor para que lo reemplace, según las necesidades.

El distribuidor fue inventado por primera vez por Alexander Stepnenov como parte de la Standard Template Library (STL) para C ++. Su intención original era crear un método que "hace que la biblioteca sea más flexible e independiente del modelo de datos subyacente." Y permite a los programadores aprovechar punteros personalizados y tipos de referencia en la biblioteca, pero al incorporar la biblioteca de plantillas estándar en el estándar C ++ , el comité de estándares de C ++ se dio cuenta de que la abstracción completa del modelo de datos daría lugar a una pérdida de rendimiento inaceptable. Para hacer un compromiso, las restricciones en dispensadores en el estándar se han vuelto más estrictas, y en vista de esto, el grado de personalización de los dispensadores descritos por las normas existentes ha sido muy limitado en comparación con la idea original de Stefanov.

Aunque la personalización del distribuidor es limitada, en muchos casos, aún se necesita un asignador personalizado, que generalmente encapsula el acceso a diferentes tipos de espacio de memoria (como la memoria compartida y la memoria reciclada) o Mejora el rendimiento cuando se usan grupos de memoria para asignación de memoria. Además de esto, desde la perspectiva del uso de la memoria y el tiempo de ejecución, también es beneficioso introducir un distribuidor especialmente diseñado para programas que frecuentemente realizan una pequeña cantidad de asignación de memoria.