No entanto, as matrizes de tamanho variável não são suportadas pelo padrão C ++ (até C ++ 11). O tamanho da matriz é uma expressão constante no padrão C ++ 11. Como resultado, o programa acima pode não ser um programa C ++ aceitável. Como o compilador GCC tem uma extensão para acomodá -los, o programa pode funcionar com o compilador GCC. Por mais pouco mais, o tamanho da matriz agora é uma expressão simples em C ++ 14 (não-expressão constante).
Não é desejável ter que gerar uma matriz potencialmente grande em uma pilha com espaço limitado. Se você não estiver ciente antes do tempo, escreveremos o código prejudicial. Matrizes de comprimento variável não são suportadas nativamente em C ++ porque exigiriam mudanças significativas no sistema de tipos.
Aqui, no artigo do C ++, mostraremos como superar o erro de matriz de comprimento variável ISO C ++ ISO no tempo de compilação.
Exemplo 1: Programa para implementar uma matriz de comprimento variável em C ++ com o GCC Compiler
Matrizes de comprimento variável podem escolher qualquer tamanho que o usuário desejar, eu.e., Eles podem ser variáveis em tamanho. A seguir, é apresentado um programa C ++ para criar matrizes de comprimento variável:
Temos arquivos de cabeçalho C ++ na primeira etapa e o arquivo de namespace. Depois disso, temos o método principal do programa, e o corpo principal tem a declaração de variável de ponteiro como "Array" e a outra variável "arr_size" Declaração. O Cout imprime a declaração que pede ao usuário um número para o tamanho da matriz. Em seguida, o NIN receberá o valor numérico do usuário. A variável "Array" é chamada onde definimos o tamanho da matriz.
Agora, também solicitamos os valores da matriz do usuário. O valor da matriz irá atingir o loop for até atingir o tamanho da matriz. Então, o segundo para o loop é usado para imprimir os valores dentro da matriz e, ao mesmo tempo, excluímos a matriz usando a expressão deleta [] no programa.
#incluirO shell exibe uma mensagem para inserir o tamanho da matriz após a compilação. Quando o usuário inserir o tamanho da matriz, o shell pede ao usuário que defina os valores para a matriz. O tamanho da matriz e seus elementos são acessíveis da seguinte forma. Portanto, podemos implementar uma matriz de comprimento variável em C ++ sem uma exceção proibida.
Exemplo 2: Programa para implementar uma matriz de comprimento variável em C ++ usando vetores
O C ++ STL fornece um vetor como uma alternativa às matrizes de comprimento variável. É adequado para uma variedade de aplicações. Ficará mais claro com o programa C ++, que implementamos abaixo.
Como temos que usar vetores em nosso programa. Portanto, a parte mais importante é definir o vetor como um arquivo de cabeçalho na parte superior da implementação do código. Adicionamos o arquivo vetorial na seção do cabeçalho.
Dentro do programa principal, temos uma classe vetorial com tipo INT, e a classe de vetores tem uma variável “V.”Adicionamos cinco elementos do tipo inteiro no vetor. Depois disso, temos um ciclo de iteração de loop. Dentro do loop for, declaramos um iterador a um vetor com uma nova variável “It.”Então, a variável“ it ”tem uma função de início e final para exibir os elementos dos vetores.
#incluirO programa acima fornece a saída como esta.
Exemplo 3: Programa para implementar uma matriz de comprimento de variável em C ++ usando o STD :: Vector
Os vetores são usados para transportar tipos de dados comparáveis em C++. O tamanho de um vetor, diferentemente das matrizes, pode crescer dinamicamente. Podemos ajustar o tamanho do vetor, conforme necessário ao longo da execução do programa. O arquivo de cabeçalho do vetor deve ser incluído em nosso programa para utilizar vetores. Depois que a biblioteca vetorial estiver incluída no arquivo de cabeçalho, podemos utilizar o vetor como std :: vetor no programa.
Depois de incluir a biblioteca vetorial no topo, chamamos de std :: vetor dentro da função principal do programa. O vetor é declarado como "números" e inicializado com os cinco valores numéricos aleatórios. A variável "Número" é novamente definida, que possui três elementos vetoriais do contêiner vetorial acima do rumo. O std :: cout é usado para exibir o comprimento do vetor dentro da variável "número" usando a função de tamanho.
#incluirA saída mostra o comprimento da matriz vetorial especificada da seguinte forma.
Conclusão
Resumindo! Aqui, temos uma discussão detalhada sobre matrizes de comprimento variável na introdução. Assim, aprendemos que o C ++ proíbe as matrizes de comprimento variável (VLA). Especificamos algumas maneiras acima para implementar a matriz de comprimento variável em C ++ e maneiras alternativas da matriz de comprimento variável. Estes podem ser úteis ao interagir com as matrizes de comprimento variável em C++.