std::array de tamanho fixo
Uma alternativa segura ao array de C
std::array de tamanho fixo é uma aula grátis de C++ Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de C++ Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de C++ Academy inclui 4 aulas no total.
Um Vetor C Seguro
std::array<T, N> é um vetor de tamanho fixo que conhece seu próprio tamanho e se comporta como um contêiner apropriado. Inclua <array>.
#include <iostream>
#include <array>
int main() {
std::array<int, 3> a = {1, 2, 3};
std::cout << a[0] << " " << a.size() << "\n";
}Conhece seu Tamanho
Ao contrário de um array bruto, que se converte em um ponteiro, std::array sempre informa seu comprimento por meio de size().
#include <iostream>
#include <array>
int main() {
std::array<double, 4> a{};
std::cout << a.size() << "\n"; // 4
}Laço for baseado em intervalo
Por ser um contêiner completo, pode ser percorrido com um laço baseado em intervalo.
#include <iostream>
#include <array>
int main() {
std::array<int, 3> a = {10, 20, 30};
for (int x : a) std::cout << x << " ";
std::cout << "\n";
}at() com verificação de limites
at(i) lança std::out_of_range quando o índice é inválido, enquanto operator[] não faz essa verificação; escolha conforme os requisitos de segurança.
#include <iostream>
#include <array>
int main() {
std::array<int, 2> a = {1, 2};
try { a.at(5); }
catch (const std::out_of_range&) { std::cout << "out of range\n"; }
}front, back e data
Acessadores convenientes: front() e back() retornam o primeiro e o último elemento; data() fornece um ponteiro bruto para APIs C.
#include <iostream>
#include <array>
int main() {
std::array<int, 3> a = {7, 8, 9};
std::cout << a.front() << " " << a.back() << "\n";
}Copiável por valor
std::array é copiado diretamente com =, copiando cada elemento, ao contrário dos arrays brutos, que se convertem em ponteiros.
#include <iostream>
#include <array>
int main() {
std::array<int, 3> a = {1, 2, 3};
std::array<int, 3> b = a; // full copy
b[0] = 99;
std::cout << a[0] << " " << b[0] << "\n"; // 1 99
}Funciona com algoritmos
Os algoritmos padrão aceitam iteradores de std::array; aqui, nós o ordenamos.
#include <iostream>
#include <array>
#include <algorithm>
int main() {
std::array<int, 4> a = {4, 1, 3, 2};
std::sort(a.begin(), a.end());
for (int x : a) std::cout << x << " ";
std::cout << "\n";
}Preencher e comparar
fill(value) define todos os elementos; std::array também permite a comparação elemento a elemento com ==.
#include <iostream>
#include <array>
int main() {
std::array<int, 3> a{};
a.fill(5);
std::array<int, 3> b = {5, 5, 5};
std::cout << (a == b) << "\n"; // 1
}O tamanho faz parte do tipo
O comprimento N está incorporado ao tipo, portanto, uma função que recebe std::array<int,3> não aceitará um array de tamanho 4. É aqui que std::span será útil mais adiante.
Alocação na pilha
std::array armazena seus elementos diretamente na própria estrutura, geralmente na pilha, sem alocação de memória dinâmica, o que o torna rápido e previsível para dados de tamanho fixo.
array versus vector
Use std::array quando o tamanho for conhecido em tempo de compilação e não mudar. Use std::vector quando o tamanho puder mudar durante a execução.
Verificação rápida
Verifique sua compreensão de std::array.
Recapitulação
Você aprendeu sobre std::array:
- Contêiner de tamanho fixo, consciente do próprio tamanho e sem alocação de memória dinâmica.
at()verifica os limites;[]não.- Pode ser copiado, comparado e usado com algoritmos.
- O tamanho
Nfaz parte do tipo.
Perguntas Frequentes
A aula “std::array de tamanho fixo” é grátis?
Sim — o texto completo de “std::array de tamanho fixo” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de C++ Academy, atualize para CoddyKit PRO. O curso de C++ Academy inclui 4 aulas no total.
O que vou aprender em “std::array de tamanho fixo”?
Uma alternativa segura ao array de C Você pratica C++ Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar C++ Academy?
Nenhuma experiência prévia é necessária. C++ Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “std::array de tamanho fixo”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de C++ Academy?
Sim. Cada aula de C++ Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- std::array de tamanho fixo
- Noções básicas de std::span
- Passando spans para funções
- Limites e subspans