Junior — Middle
Qual abordagem você usaria para armazenar um grande volume de dados, quando seu tamanho inicial é desconhecido?
sobes.tech IA
Resposta da IA
Para armazenar grandes volumes de dados com um tamanho inicialmente desconhecido em C/C++, geralmente usa-se alocação dinâmica de memória e estruturas de dados que podem expandir-se conforme necessário.
Abordagens principais:
- Utilizar arrays dinâmicos com realocação de memória (por exemplo, através de
reallocem C oustd::vectorem C++), que aumentam de tamanho ao atingir a capacidade atual. - Para dados muito grandes, usar armazenamento em ficheiros ou bases de dados para não manter tudo na memória RAM.
Exemplo com std::vector em C++:
#include <vector>
std::vector<int> data;
// Adiciona elementos à medida que chegam
for (int i = 0; i < n; ++i) {
int value;
std::cin >> value;
data.push_back(value);
}
std::vector gere automaticamente a memória e expande-se quando necessário.