Array de char dinâmico C ++

Array de char dinâmico C ++
Uma matriz dinâmica é comparável a uma matriz padrão, exceto que seu tamanho pode ser alterado enquanto o programa está em execução. Os membros de uma matriz dinâmica ocupam um único cache de memória, uma vez concluído, uma matriz dinâmica pode crescer exponencialmente. A memória de cache especificada é alocada para uma matriz quando é criada. Uma matriz dinâmica, por outro lado, estende sua capacidade de memória por um critério específico quando for necessário. Empregamos uma matriz dinâmica quando precisamos avaliar o tamanho em tempo de execução. Neste artigo, vamos discutir os detalhes da matriz de caracteres dinâmicos em C++.

Utilize o novo operador ():

O novo operador fornece dinamicamente o objeto na memória principal e reverte um ponteiro para ele. Uma matriz de personagens é declarada neste programa subsequente. Depois disso, em A para loop, Alocamos com eficiência a matriz de char e especificamos os dados apropriados para seus componentes.

#incluir
usando namespace std;
int main ()

int i, a;
cout<< "Enter the number of values:" a;
int *arr = new int (a);
cout<< "Enter " << a << " values" <para (i = 0; i> arr [i];

cout<< "You entered: ";
para (i = 0; i< a; i++)

cout<
retornar 0;

Aqui, vamos integrar o arquivo de cabeçalho para utilizar suas funcionalidades. Para utilizar as classes no programa sem declará -lo, usamos um espaço de nome padrão. A função principal () está sendo chamada na próxima etapa.

Primeiro, declaramos duas variáveis ​​'i' e 'a'. Utilizamos a declaração 'cout' para imprimir a linha na tela para que o usuário insira a quantidade de números que ele deseja adquirir. Então, esse valor é atribuído à variável 'a'. Agora, adquirimos uma matriz que contém o valor da variável 'a' e depois atribuímos isso a um ponteiro da matriz. Mais uma vez, o comando 'cout' está sendo usado para permitir que o usuário insira qualquer número aleatório.

Para o loop é executado, que inicializa uma variável de loop 'i' para recapitular os números inseridos pelo usuário. Os números dentro da matriz 'arr' agora são exibidos. Na execução bem -sucedida, o programa retornará o valor. O corpo da função principal () chegou ao fim.

Utilize uma lista de inicializadores:

É simples definir uma matriz de caracteres dinâmicos para 0. O comprimento indica o número de itens a serem inseridos na matriz nesta metodologia. A matriz será deixada em branco porque precisamos especificar a matriz de caracteres para zero. Uma lista de inicializador seria usada para criar uma matriz de caracteres dinâmicos. Dê uma olhada em um exemplo.

#incluir
usando namespace std;
int main (vazio)

int j;
Int *Array new int [8] 1, 14, 9, 0, 33, 5, 28, 6;
cout<< "Elements of the array: " <para (j = 0; j < 8; j++)

cout<< array[j] <
retornar 0;

Primeiro, incluímos o arquivo de cabeçalho para funções de entrada e saída. O espaço para nome padrão também é utilizado para que possamos acessar as classes sem ter que chamá -lo. Empregamos a função principal (). Dentro do corpo desta função, a variável 'J' é inicializada. Então, declaramos uma matriz com uma lista. O tipo de dados desta matriz é um número inteiro. A matriz contém 8 números inteiros numéricos. Queremos imprimir a linha 'Elementos da matriz' na tela para que utilizemos a declaração 'cout'. O comando 'endl' mostra o fim da linha. Apenas move a saída para a próxima linha.

Aplicamos o loop 'para'. Dentro do loop 'para', apenas inicializamos uma variável de loop 'j', especificamos a condição de que o valor da variável 'j' deve ser menor que 8. Na última parte, aumentamos o valor do loop. Para exibir os elementos da matriz definida na tela, a declaração 'cout' está sendo usada. Fora do loop 'para', entramos no comando 'return 0' para encerrar o programa.

Utilize o método STD :: ULENS_PTR:

O ponteiro std :: Único_ptr é outra abordagem para criar uma matriz dinâmica de caracteres e facilita uma interface de alocação de memória segura. O item ao qual os pontos de função exclusivos devem pertencer à operação; Mas, se o ponteiro sair do intervalo, o elemento será descartado. Diferentemente das dicas convencionais, o ponteiro inteligente não exige que um programador execute o operador de exclusão; Em vez disso, é chamado implicitamente sempre que o elemento é eliminado.

#incluir
#incluir
usando std :: cout;
usando std :: endl;
constExpr int s = 11;
estático const chars [] =
'Informação' ;
int main ()

std :: Único_ptrarr (novo char [s]);
para (int k = 0; k < s; ++k)

arr [k] = chars [k];
cout<
cout<return exit_success;

No início do programa, apresentamos duas bibliotecas necessárias: e . Para utilizar as funções de saída, utilizamos o padrão 'cout'. Junto com isso, estamos usando 'endl', que mostra o fim da linha. Apenas move o cursor para a linha seguinte. O tamanho da matriz é especificado aqui usando um tipo de dados inteiro.

Na próxima etapa, declaramos a matriz estática de caracteres constantes para definir seus elementos. Invocamos a função principal (). E para a alocação de memória, aplicamos std :: Único_ptr dentro do corpo da função. Construímos uma variável de loop 'k' para o loop para repassar os valores da matriz definida. Em seguida, recupere os valores definidos da matriz e armazene -os na variável 'arr'. Para exibir os caracteres contidos na declaração 'arr' the 'cout'. Para realizar, o código pode retornar o valor. Na última etapa, usamos 'retorno exit_success' para encerrar o código.

Conclusão:

Neste artigo, falamos sobre a matriz de personagens dinâmicos e diferentes metodologias de alocar as matrizes de personagens em C++. Essas técnicas incluem o uso de um novo operador (Lista de Inicializador e Método STD :: ULEM_PTR. Utilizamos uma matriz dinâmica quando precisamos determinar o tamanho da matriz de caracteres em tempo de execução. A duração de uma matriz de caracteres dinâmicos é determinada no momento da alocação.