Como trabalhar com buffers temporários em c ++

Video: C++/Game Tutorial 24: sizeof and buffers!

buffers temporários são úteis para todos os tipos de tarefas. Normalmente, você usá-los quando você quiser preservar os dados originais, mas você precisa para manipular os dados de alguma forma. Por exemplo, criar uma versão ordenada de seus dados é um uso perfeito de um buffer temporário. o TemporaryBuffer exemplo mostra como usar um tampão temporário para classificar algumas cordas.

Video: C++ Using buffers for fast file IO

#incluir #incluir #incluir #incluir usando espaço de nomes std-int main () {vetor Palavras-Words.push_back ("Azul") -Words.push_back ("Verde") -Words.push_back ("Cerceta") -Words.push_back ("Tijolo") -Words.push_back ("Roxa") -Words.push_back ("Castanho") -Words.push_back ("Cinza claro") Contagem -int = Words.size () - cout lt; lt; "Palavras contém: " lt; lt; Contagem lt; lt; " elementos." lt; lt; endl - // Criar o buffer e copiar os dados para it.pair Mem = get_temporary_buffer(Contagem) -uninitialized_copy (Words.begin (), Words.end (), Mem.first) - // executar uma classificação e exibir o 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-}

O exemplo começa com a lista agora familiar de nomes de cores. Em seguida, ele conta o número de entradas no vetor e exibe na tela a contagem.

Video: C++Tutorial for Beginners 61 - Textures, Renderers and Buffers



Neste ponto, o código cria o tampão temporário usando get_temporary_buffer. A saída é par, com o primeiro valor que contém um apontador para os valores de cadeia e o segundo valor que contém a contagem de elementos de dados. Mem não contém nada - você simplesmente memória alocada para ele.

A próxima tarefa é copiar os dados do vetor (palavras) para par (Mem) utilização uninitialized_copy. Agora isso Mem contém uma cópia de seus dados, você pode organizá-lo usando a função de classificação. O passo final é a exibir o Mem do conteúdo na tela. Aqui está o que você vai ver:

Video: Buffer overflow - Demo with simple implementation in C

Palavras contém: 7 elements.BlueBrickBrownGreenLightGrayPurpleTeal

Publicações relacionadas