Buscaar

Solo disponible en BuenasTareas
  • Páginas : 30 (7272 palabras )
  • Descarga(s) : 0
  • Publicado : 28 de agosto de 2012
Leer documento completo
Vista previa del texto
La STL (Standard Template Library) de C++ es una colección genérica de plantillas de clases y algoritmos que permite a los programadores implementar fácilmente estructuras estándar de datos como colas (queues), listas (lists), y pilas (stacks).
La STL de C++ provee a los programadores con lo constructores siguientes, agrupados en tres categorias:
Secuencias (sequences)
C++ Vectors
C++Lists
C++ Double-Ended Queues
Adaptadores de contenedor (Container Adapters)
C++ Stacks
C++ Queues
C++ Priority Queues
Contenedores asociativos (Associative Containers)
C++ Bitsets
C++ Maps
C++ Multimaps
C++ Sets
C++ Multisets
La idea detras de la STL de C++ es que la parte dificil en el uso de estructuras complejas de datos ya ha sido previamentecompletada. Por ejemplo, si un programador desea usar un stack de enteros, todo lo que tiene que hacer es escribir el código:
stack<int> myStack;
Con un minimo de esfuerzo, él o ella puede usar la función push() para ingresar enteros al stack; y la función pop() para retirar enteros del stack. A través de la magia de las plantillas de C++, se puede especificar cualquier tipo de dato, nosólo enteros. La clase Stack de la STL provee la funcionalidad genérica de un stack, sin importar el tipo de dato en el stack.

Biblioteca estándar de plantillas (STL, Standard Template Library)Artículo principal: Biblioteca estándar de plantillas (en inglés).
Los lenguajes de programación suelen tener una serie de bibliotecas de funciones integradas para la manipulación de datos a nivel másbásico. En C++, además de poder usar las bibliotecas de C, se puede usar la nativa STL (Standard Template Library), propia del lenguaje. Proporciona una serie plantillas (templates) que permiten efectuar operaciones sobre el almacenado de datos, procesado de entrada/salida.

5.1  Librería Estándar de Plantillas§1  SinopsisLa librería estándar de plantillas, o STL ("Standar Template Library"), siglaspor las que se la conoce, es un gran conjunto de estructuras de datos y algoritmos que conforman una parte sustancial de la Librería Estándar C++. A pesar de que la definición anterior es irreprochablemente correcta, y que el lector puede encontrar una introducción sobre el significado de los términos "estructuras de datos" y "algoritmos" en el capítulo correspondiente de esta obra ( 1.8). Alestudiante que se asoma por primera vez, una definición como la anterior posiblemente lo deje más frió que caliente. Digamos entonces que la STL es en realidad un banco de trabajo construido casi exclusivamente sobre dos elementos ya existentes en el lenguaje:  los tipos abstractos (clases) y las plantillas ("Templates"). Con estos elementos, su creador y colaboradores (ver nota histórica acontinuación ) han creado un extraordinario conjunto de utilidades que comprende estructuras de datos y algoritmos (muy genéricos) para su manejo. Los criterios de diseño de la STL pueden resumirse en dos palabras: generalidad y eficiencia.  En palabras de su creador [6]:  "STL no es un intento de imponer otro estándar a la sufrida humanidad.  Tampoco fue diseñada 'para' ni 'por' un comité. Es el resultado de15 años de investigación en programación genérica que he realizado en diversos sitios, con diferentes colaboradores, y en diferentes lenguajes de programación. Realicé este trabajo con un objetivo concreto en mente:  encontrar un modo de escribir algoritmos de la forma más general, pero de forma que su grado de abstracción no impusiera ninguna penalización en el rendimiento". En esta libreríaexisten dos aspectos interesantes (apuntados antes) que no son compartidos por muchos otros componentes de la Librería Estándar.  El primero es que la STL es un conjunto de algoritmos escritos en C++;  es decir:  utilizando recursos que ya existen en el lenguaje. El otro aspecto es su alto nivel de abstracción. Respecto al primero, la consecuencia es que podríamos evitar utilizarlas en absoluto...
tracking img