ExpertiDict

C++ · Essencial · Inglês · Técnico

C-style array

ˈsiː staɪl əˈreɪsubstantivo

Array nativo herdado de C, com tamanho fixo e sem métodos, como int v[5]. Decai para ponteiro ao ser passado a funções, perdendo a informação do tamanho.

Onde usar

Aparece em código legado e em APIs de C. Em código novo, std::array ou std::vector evitam erros de limite e carregam o tamanho junto.

Em código

int v[3] = {1, 2, 3};
int n = sizeof(v) / sizeof(v[0]);  // 3
void f(int p[]) {
  // sizeof(p) é o tamanho de um ponteiro
}

Exemplos

This C-style array decays to a pointer when passed in.

Esse array estilo C decai para um ponteiro quando é passado.

Replace the C-style array with std array.

Troque o array estilo C por std array.

Cuidado

sizeof dentro de uma função que recebeu o array como parâmetro devolve o tamanho de um ponteiro, não do array.

Sinônimos

array nativo

Antônimos

std array

Veja também

Todos os termos de C++