Template |
A template is a set of files (usually a pair of files: MyTemplate.h and MyTemplate.cpp) where there are some fields that can be dynamically replaced. Una plantilla es un conjunto de archivos (usualmente un par de archivos: MiPlantilla.h y MiPlantilla.cpp) donde hay algunos campos que pueden remplazarse en forma dinámica. |
Standard Template Library (STL) |
The Standard Template Library is collection of templates that were designed to manage data. The STL is extremely flexible because it provides general purpose code and functions by implement many popular and commonly used algorithms. wstring is one of the templates from the STL that we have been using. wstring encapsulates wchar_t, while string encapsulates char. Because the STL is based on templates, their algorithms and data structures can greatly simplify the creation of programs. The STL has three types of elements as shown in the figure below: containers, algorithms and iterators La Librería de Plantillas Estándar (STL) es una colección de plantillas que fue diseñada para manejar datos. La STL es extremadamente flexible porque proporciona código y funciones de propósito general implementando muchos algoritmos populares y comunmente usados. wstring es una de la plantillas de la STL que hemos venido utilizando. wstring encapsula wchar_t, mientras que string encapsula char. Debido a que la STL está basada en plantillas, sus algoritmos y sus estructuras de datos pueden simplificar grandemente la creación de programas. La STL tiene tres tipos de elementos como se muestra en la figura: contenedores, algoritmos e iteradores. |
Containers |
A container is an object that can hold other objects. The STL includes the following containers:
Un contenedor es un objeto que puede tener dentro de él otros objetos. La STL incluye los siguientes contenedores:
|
Algorithm |
An algorithm is used to manipulate the objects that are in a container. They are used to: sort, search, count, transform, etc. Un algoritmo es usado para manipular los objetos que se encuentran en el contenedor. Estos son usados para: ordenar, buscar, contar, transformar, etc. |
Iterator |
An iterator is similar to a pointer. They are used to cycle through the objects (data) of a container. Un iterador es similar a un puntero. Estos se usan para hacer un recorrido por todos los objetos dentro de un contenedor. |
Tip |
Once a STL template has been used, using another template is straightforward. The table below summarizes some of the functions used in the templates. Una vez que una plantilla de la STL ha sido usada, usar otra plantilla es muy fácil. La tabla de abajo resume algunas de las funciones usadas en las plantillas. |
Name | Description |
.size() | Returns the number of objects in the container |
.resize(100) | Changes the size of the container |
.begin() | Indicates the first object in the container |
.end() | Indicates of position after the last object in the container |
.erase() | Deletes one or more object in the container |
.clear() | Deletes all objects in the container |
.max_size() | Returns the maximum number of objects that can be stored |
.reserve(100) | Reserve a space for 100 elements to improve performance |
.empty() | Returns true when it is empty |
Nombre | Descripción |
.size() | Regresa el número de objetos en el contenedor |
.resize(100) | Cambia el tamaño del contenedor |
.begin() | Indica el primer objeto en el contenedor |
.end() | Indica una posición después del último objeto en el contenedor |
.erase() | Borra uno o más objetos del contenedor |
.clear() | Elimina todos los objetos del contenedor |
.max_size() | Regresa el número máximo de objetos que pueden ser almacenados |
.reserve(100) | Reserva un espacio para 100 elementos para mejorar el desempeño |
.empty() | Regresa true cuando este está vacío |