Eu me deparei com um questionário que envolvia declaração de matriz com tamanhos diferentes. A primeira coisa que me veio à mente é que eu precisaria usar a alocação dinâmica com o new
comando, assim:
while(T--) {
int N;
cin >> N;
int *array = new int[N];
// Do something with 'array'
delete[] array;
}
No entanto, vi que uma das soluções permitia o seguinte caso:
while(T--) {
int N;
cin >> N;
int array[N];
// Do something with 'array'
}
Depois de um pouco de pesquisa, li que o g ++ permite isso, mas ele me fez pensar: em quais casos é necessário usar a alocação dinâmica? Ou será que o compilador traduz isso como alocação dinâmica?
A função de exclusão está incluída. Observe, no entanto, que a pergunta aqui não é sobre vazamentos de memória.
new OBJ
diretamente.
std::vector
(std::vector<int> array(N);
).