Biblioteca Estándar De Plantillas (Stl)

Solo disponible en BuenasTareas
  • Páginas : 19 (4646 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de junio de 2012
Leer documento completo
Vista previa del texto
Biblioteca Estándar de Plantillas (STL)


Introducción a la biblioteca estándar de la plantilla

La biblioteca estándar de la plantilla, o STL, es una biblioteca de C++ de las clases, de los algoritmos, y de los iterators del envase; proporciona muchas de las estructuras de los algoritmos básicos y de datos de la informática. El STL es una biblioteca genérica, significando que suscomponentes están dados parámetros pesadamente: casi cada componente en el STL es una plantilla. Usted debe cerciorarse de que usted entienda cómo las plantillas trabajan en C++ antes de que usted utilice el STL.
Los lenguajes de programación suelen tener una serie de bibliotecas integradas para la manipulación de datos a nivel más básico. En C++, además de poder usar las bibliotecas de C, se puede usar lanativa STL (Standard Template Library), propia del lenguaje. Proporciona una serie de clases parametrizadas (véase más arriba plantillas) que permite efectuar operaciones sobre el almacenado de datos, procesado y flujos de entrada/salida. La STL es más que una biblioteca un conjunto de ellas. De esta forma únicamente se incluyen en el fichero ejecutable final aquellas que sean necesarias para laaplicación que se esté programando, reduciendo drásticamente el uso innecesario de memoria
A menudo existe un poco de confusión entre los contenedores y los algoritmos en la librería estándar de C++, y la STL. La Standard Template Library fue el nombre que usó Alex Stepanov (que en aquella época estaba trabajando en Hewlett-Packard) cuando presentó su librería al Comité del C++ Estándar en elencuentro en San Diego, California, en la primavera de 1994. El nombre sobrevivió, especialmente después de que HP decidiera dejarlo disponible para la descarga pública. Posteriormente el comité integró las STL en la librería estándar de C++ haciendo un gran número de cambios. El desarrollo de las STL continúan en Silicón Graphics (SGI; ver http://www.sgi.com/Technology/STL. Las SGI STL divergen dela librería estándar de C++ en muchos sutiles puntos. Aunque es una creencia ampliamente generalizada, el C++ estándar no "incluye" las STL. Puede ser confuso debido a que los contenedores y los algoritmos en el C++ estándar tienen la misma raíz (y a menudo el mismo nombre) que en el SGI STL. En este libro, intentaré decir “la librería estándar de C++” o “la librería estándar de contenedores”, oalgo similar y eludiré usar el término STL.
La biblioteca estándar de la plantilla (STL) provee del programador de C++ muchos envases genéricos independientes del tipo útil, tales como vectores, ligar-listas y coletas. Si usted es programador de C++ y no ha descubierto el STL, recomiendo altamente el aprender de cómo utilizarlo. Una vez que usted haya utilizado STL, usted nunca deseará cifrar sinél. Hay dos razones por las que las clases del envase de STL son tan atractivas. El primer es que él es tipo independiente. Esto significa que usted puede crear vectores de carbones, de ints, de dobles o de cualquier otra clase o tipo definida usuario. En segundo lugar, las clases del envase son independientes del modelo de la memoria. Esto mantiene el código portable a través de los modelosnumerosos de la memoria encontrados en los varios sistemas operativos uso hoy.
La manera que los autores del STL mantuvieron la memoria del código modelo-independiente estaba con el uso de allocators. Puesta simplemente, una clase del allocator es una clase de la plantilla que asigna y desasigna el almacenaje para las clases del envase. El allocator del defecto, contenido en defalloc.h, new de lasaplicaciones y delete () para asignar y para desasignar memoria del almacén libre. El diseño es bastante flexible incorporar cualquier función de asignación de memoria para asignar y para desasignar memoria. En este artículo describiré cómo escribir y utilizar una clase del allocator, llamada os2_allocator, para el STL que utiliza las funciones de asignación de memoria de OS/2 DosAllocMem () y...
tracking img