Transcript
Page 1: Curso de Programação em C++

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

Page 2: Curso de Programação em C++

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

Page 3: Curso de Programação em C++

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


Recommended