¿Cómo trabajar con tampones temporales en c ++

Buffers temporales son útiles para todo tipo de tareas. Normalmente, los utiliza cuando se desea conservar los datos originales, con todo lo necesario para manipular los datos de alguna manera. Por ejemplo, la creación de una versión ordenada de sus datos es un uso perfecto de un búfer temporal. los TemporaryBuffer ejemplo muestra cómo usar un búfer temporal para ordenar algunas cadenas.

#include #include #include #include using namespace std-int main () {vectorial Words-Words.push_back("Blue")-Words.push_back("Green")-Words.push_back("Teal")-Words.push_back("Brick")-Words.push_back("Purple")-Words.push_back("Brown")-Words.push_back("LightGray")-int Contar = Words.size () - cout lt; lt; "Las palabras contienen:" lt; lt; Contar lt; lt; "Elementos". lt; lt; endl - // Crear el buffer y copiar los datos en it.pair Mem = get_temporary_buffer(Count) -uninitialized_copy (Words.begin (), Words.end (), Mem.first) - // Realizar una especie y mostrar el results.sort (Mem.first, Mem.first + Mem.second) -para ( int i = 0- i lt; Mem.second- i ++) cout lt; lt; Mem.first [i] lt; lt; endl retorno 0-}

El ejemplo comienza con la lista ahora familiar de nombres de colores. Luego cuenta el número de entradas en vector y muestra la pantalla recuento.

En este punto, el código crea la memoria intermedia temporal utilizando get_temporary_buffer. La salida es par, con el primer valor que contiene un puntero a los valores de cadena y el segundo valor que contiene el recuento de elementos de datos. Mem no contiene nada - simplemente ha asignado memoria para él.

La siguiente tarea consiste en copiar los datos de vector (palabras) a par (Mem) usando uninitialized_copy. Ahora que Mem contiene una copia de sus datos, usted puede organizar utilizando la función de clasificación. El paso final es mostrar el Mem contenido en pantalla. Esto es lo que verás:

Palabras contiene: 7 elements.BlueBrickBrownGreenLightGrayPurpleTeal



» » » » ¿Cómo trabajar con tampones temporales en c ++