Usando uma matriz dinâmica com uma estrutura
Video: Alocar matriz e retornar via função
Conteúdo
Matrizes estáticos são alocados na pilha, o que pode limitar a sua usabilidade. Matrizes dinâmicas são alocados na pilha, o que significa que eles estão apenas limitado pelo tamanho da memória. Na verdade, você vai encontrar algumas outras diferenças entre matrizes dinâmicas e estáticas, mas a linha de fundo aqui é que, embora matrizes dinâmicas exigem um pouco mais de trabalho para usar porque você deve gerenciar a memória mesmo, eles também oferecem maior flexibilidade no trabalho com dados.
Mais do que provavelmente você vai querer lidar com dados complexos ao fazer uso de matrizes dinâmicas. O exemplo neste artigo online visa agradar olhando como você pode usar uma matriz dinâmica com uma estrutura. Aqui está um exemplo do código que você pode usar:
#incluir#incluir usando Employee namespace std-struct {string Name-int Age -} - int main () {Employee * DynArray-DynArray = new (nothrow) Employee [3] -DynArray [0] .Name = "Harvey"-DynArray [0] = 33 .Age-DynArray [1] = .Nome "surtida"-DynArray [1] .Age = 26-DynArray [2] = .Nome "Jeff"-DynArray [2] = 52 .Age-cout lt; lt; "Exibindo o conteúdo de matriz" lt; lt; endl-para (int i = 0- i lt; 3- i ++) {cout lt; lt; "Nome: " lt; lt; DynArray [i] .Nome lt; lt;"Tage: " lt; lt; DynArray [i] .Age lt; lt; endl-} delete [] DynArray-retorno 0-}
Neste exemplo, o código começa com a criação de um struct empregado que contém o nome do funcionário e idade. Você pode usar qualquer tipo de recipiente de dados desejado - este só acontece de ser um struct.
Video: Algoritmos e Estruturas de Dados - USP - Matriz de Adjacência em Grafos
A fim de criar uma matriz dinâmica, você define um ponteiro para a variável de matriz. Esse ato coloca a variável na pilha, em vez da pilha. Você, então, criar a matriz, que contém três Empregado entradas neste caso. O código preenche os dados e, em seguida, utiliza um circuito para exibir os resultados na tela. Aqui está o que você deve ver quando você executar o exemplo.
Exibindo a ContentName matriz: HarveyAge: 33Name: Sally Idade: 26Name: Jeff Idade: 52
Observe que você acessar os membros individuais de Empregado acessando o índice da matriz necessária e, em seguida, usando a sintaxe de ponto para especificar o nome do membro. É importante lembrar que a matriz dinâmica age como qualquer outra matriz em que você acessar um índice para obter uma entrada específica.
É essencial usar excluir[] para liberar a memória usada por DynArray. Caso contrário, sua aplicação terá um vazamento de memória que acabará por afectar o desempenho do sistema ou pelo menos causar-lhe a fazer coisas engraçadas. Porque os nossos sistemas estão já engraçado agindo suficiente, é provavelmente uma boa idéia para garantir a sua aplicação não’contribuem para o problema.