curso de programação em c++
DESCRIPTION
Curso de Programação em C++. Universidade Federal do Ceará Departamento de Engenharia Estrutural e Construção Civil Prof: Evandro Parente Junior Monitor: Renato Peixoto Abril/2007. Alocação dinâmica. Operadores: new: reserva o espaço de memória necessário delete: libera a memória alocada. - PowerPoint PPT PresentationTRANSCRIPT
Curso de Programação em C++
Universidade Federal do CearáDepartamento de Engenharia Estrutural
e Construção Civil
Prof: Evandro Parente JuniorMonitor: Renato Peixoto
Abril/2007
2
Alocação dinâmica Operadores:
new: reserva o espaço de memória necessário delete: libera a memória alocada.
Exemplo:
Toda memória alocada deve ser liberada: Cuidado com alocação dentro de laços e de funções. Evitar memory leaks (memória perdida). Ao final da execução a memória alocada pelo programa
é liberada pelo sistema.
int n;cin >> n;double *x = new double[n]; // Aloca um vetor com n posiçõesfor (int i = 0; i < n; i++) x[i] = 0.0; // Inicializa o vetor alocadodelete []x; // Libera a memoria alocada
3
Alocação dinâmica Matrizes:
São tratadas como um vetor de ponteiros para vetores.
As linhas correspondem a um vetor de ponteiros que apontam para o primeiro elemento de cada coluna.
Cada coluna é um vetor independente. Exemplo:
int n,m;cin >> n >> m;double **A = new double*[n]; // Aloca as n linhas da matriz Afor (int i = 0; i < n; i++) A[i] = new double[m]; // Aloca as m colunas de cada linha…for (int i = 0; i < n; i++) delete []A[i]; // Libera as m colunas de cada linhadelete []A; // Libera as n linhas da matriz A