Em básica de programação C + +, variáveis e arrays são declarados pelo programador diretamente no código. No entanto, quando a construção de estruturas de dados, tais como matrizes de redimensionamento de forma dinâmica , o programador deve aprender a alocar dinamicamente a memória durante a execução do código. Arrays alocados desta forma tem alguns benefícios, tais como comprimento não constante na declaração. O programador pode alocar matrizes de tipos de dados escalares e classes criadas pelo usuário de forma idêntica. Usando ponteiros e palavras-chave incorporadas a biblioteca padrão , C + + faz alocação de memória e eliminação direta. Coisas que você precisa
Editor de Texto
C /C + + Compiler (como o Microsoft Visual Studio ou GCC)
Mostrar Mais instruções
1
Criar um ponteiro do tipo de dados a matriz irá conter. Por exemplo, para criar dinamicamente um array de inteiros , um ponteiro de inteiro deve existir para fazer referência a matriz :
int * arr_ptr ;
O ponteiro " arr_ptr " irá agora permitir que um programador para fazer referência profundo memória durante a execução.
2
Use o ponteiro para alocar memória. A "nova " palavra-chave , que é específico para as bibliotecas C + + ( e não está disponível em C standard) afirma memória durante a execução para a utilização do ponteiro chamando :
arr_ptr = new int [6];
Aqui, a palavra-chave "novo" pega um bloco de seis capítulos inteiros porte - de memória. No entanto , ao contrário de matrizes declaradas antes de tempo de execução, matrizes dinâmicas podem ser declaradas com entrada variável :
int i = 6;
arr_ptr = new int [ i] ;
permite ao programador criar matrizes que podem redimensionar com base na necessidade , em vez de designação do espaço pré-determinado.
3
alocar uma matriz de tipos de dados criados pelo usuário. Após procedimento C + + alocação de memória , o programador pode criar matrizes de tipos de dados declarados em classes separadas :
int i = 5;
NewClass * class_ptr ;
class_ptr = new NewClass [i] ; .
o ponteiro " class_ptr " irá referenciar uma variável do " NewClass " tipo de dados , o mais provável definido em uma descrição da classe em outro arquivo
4
Excluir o matriz . Quando uma matriz não é mais necessário ( ou foi copiado para outro array, possivelmente durante uma operação de redimensionamento ) o programador deve certificar-se de excluí-lo. Memória alocada que não é excluído , mas não mais referenciado, pode levar até memória valioso e , ao longo do tempo , causar o que é conhecido como um vazamento de memória
int i = 5; .
NewClass * class_ptr ;
class_ptr = new NewClass [i] ;
apagar class_ptr [];
Agora , a matriz referenciado por " class_ptr " será apagado , ea memória liberada para outros usos.