O std::array
é um container da biblioteca padrão do C++ que armazena um número fixo de elementos do mesmo tipo em uma única estrutura de dados contígua na memória. Ele é semelhante a um array nativo do C++, mas com recursos adicionais e maior segurança.
O ideal é abandonar o estilo C de criar arrays e usar o std::array
.
// Mal ideia
int arr[4] = {1, 2, 3, 4};
std::array
O std::array
é uma opção atraente para o armazenamento de um número fixo de elementos em um programa C++. Alguns benefícios do uso do std::array
em relação a outros containers incluem:
std::array
fornece verificação de limites de índice em tempo de execução, o que significa que um erro será lançado se você tentar acessar um elemento fora dos limites do array. Isso ajuda a evitar erros comuns de programação, como acesso indevido à memória.
std::array
Para usar o std::array
em um programa C++, você deve incluir a biblioteca <array>
e definir um objeto do tipo std::array
com seu tamanho e tipo de elemento especificados. Por exemplo:
std::array<int, 4> arr = {1, 2, 3, 4};
Similar ao array criado acima em C.
Para imprimir os elementos, exemplo:
for(auto &var : arr){
std::cout << var << '\n';
}
Ou usar o
loop
tradicional.
Você também pode inicializar os elementos posteriormente, exemplo:
// Automaticamente todos elementos são inicializados com valor ZERO
std::array<int, 4> arr;
// Pode ser assim, ao elemento zero nesse caso
arr[0] = 1;
// Ou assim, ao elemento 1 nesse caso
arr.at(1) = 2;
Ao imprimir todos os demais elementos que não foram definido valor, terão valor igual a ZERO:
0
.
O std::array
dispões de diversas funções-membro e iteradores para facilitar a sua utilização, exemplo:
Verificar se o array está vazio com .empty()
:
std::cout << "O array está vazio? " <<
( arr.empty() ? "Sim" : "Não") << '\n';
Entre outros conforme imagem abaixo:
Para mais informações veja esse link.