O que é std::array em C++
Em C++, um contêiner conhecido como std::array é empregado para manter um número fixo dos mesmos itens de tipo de dados. O std::array container oferece uma alternativa aos arrays estilo C, pois é mais seguro, fácil de usar e tem melhor desempenho.
A classe, que é um componente da biblioteca padrão do C++, oferece uma abordagem prática e eficaz para armazenar e acessar elementos com o mesmo tipo de dados. Porque o tamanho de std::array é conhecido no tempo de compilação, a sobrecarga de tempo de execução do escalonamento dinâmico é reduzida. O tamanho da matriz é definido pelo parâmetro do modelo e os itens do std::array são mantidos em memória contígua.
Declarar std::array em C++
você pode declarar std::array como:
std :: variedade < int , 4 > arr ;
A sintaxe acima declara um array chamado arr com um tamanho fixo de 4 elementos, onde cada elemento é do tipo int.
Exemplo de std::array
Exemplo 1: O seguinte é um exemplo simples para inicializar um std::array em C++:
#include
#include
int principal ( ) {
std :: variedade < int , 4 > arr = { 4 , 6 , 2 , 1 } ;
para ( int eu = 0 ; eu < arr. tamanho ( ) ; eu ++ ) {
std :: cout << arr [ eu ] << ' ' ;
}
std :: cout << std :: fim ;
retornar 0 ;
}
Saída
Exemplo 2: Você também pode usar std::array para acessar os elementos em uma matriz. O código é dado abaixo:
#include#include
int principal ( ) {
std :: variedade < int , 3 > arr = { 1 , 2 , 3 } ;
std :: cout << 'O primeiro elemento é' << arr [ 0 ] << std :: fim ;
std :: cout << 'O segundo elemento é' << arr. no ( 1 ) << std :: fim ;
std :: cout << 'O terceiro elemento é' << arr. voltar ( ) << std :: fim ;
retornar 0 ;
}
Saída
Exemplo 3: O exemplo a seguir mostra a impressão de um elemento de uma matriz em uma posição específica usando std::array em C++.
#include#include
int principal ( )
{
std :: variedade < int , 4 > arr = { 4 , 6 , 2 , 1 } ;
std :: cout << arr [ 3 ] << std :: fim ;
retornar 0 ;
}
Saída
Vantagens de std::array em C++
Ao contrário dos arrays tradicionais em C++, std::array oferece uma variedade de recursos.
1: Sintaxe intuitiva
std::array tem uma sintaxe mais intuitiva para inicialização e pode ser inicializado usando uma lista de inicializadores. Isso fornece uma maneira mais concisa e legível de inicializar a matriz.
2: Aprovados como argumentos
std::array podem ser passados como argumentos para funções, e também é possível retorná-los de funções.
3: Gerenciamento de memória
Um dos principais benefícios do uso std::array é que ele fornece gerenciamento de memória fácil e eficiente. Isso significa que não há necessidade de alocação ou desalocação manual de memória.
4: Verificação Automática de Limites
O fato de que std::array oferece verificação automatizada de limites em arrays estilo C é uma de suas principais vantagens. Isso significa que, se o programa tentar acessar um elemento fora do intervalo definido do array, o compilador produzirá um erro. Estouros de buffer, falhas de segmentação e vazamentos de memória são apenas alguns dos problemas de programação frequentes que a verificação de limite pode ajudá-lo a evitar.
5: Fornece funções úteis
std::array oferece várias funções úteis, como iteradores, size(), front(), back(), fill() e at(), que é outra vantagem. Essas funções facilitam a manipulação dos elementos da matriz sem a necessidade de códigos complexos e propensos a erros. Os iteradores, por exemplo, simplificam a navegação entre os elementos do array, e o método fill() permite fornecer um único valor para todo o conjunto de elementos do array.
Conclusão
Em C++, o std::array class oferece uma maneira prática de trabalhar com matrizes de tamanho fixo, junto com algumas funções úteis e as vantagens de segurança de tipo e alcance. Para inicialização e verificação de limites, ele fornece uma sintaxe mais clara e compreensível, o que pode ajudar a evitar muitos erros típicos de programação. Para a maioria das situações em que arrays de tamanho fixo devem ser usados, o uso de std::array é recomendado, pois fornece um método mais atualizado e seguro de manipulá-los.