Como usar o std::array em C++

Uma opção atraente para o armazenamento de um número fixo de elementos em um programa C++.


Como usar o std::array em C++


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};

Benefícios do 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:

  • Tamanho fixo: O tamanho do array é determinado em tempo de compilação e não pode ser alterado em tempo de execução. Isso permite a alocação contígua de memória para os elementos do array, o que pode resultar em melhor desempenho e eficiência de memória.
  • Maior segurança: O 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.
  • Compatibilidade com a interface de outros recursos.


Como usar o 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.


Recursos

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:

std::array LSP


Para mais informações veja esse link.


cpp cppdaily


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!