Programar em C++/Alocação dinâmica de memória: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Sem resumo de edição
Linha 46:
 
Vamos voltar a uma ponta solta num dos capítulos anteriores, onde queríamos fazer com que o utilizador dissesse quantos elementos do array é que se deveria utilizar.
Já dissemos antes que o declarador do nº de elementos do array tem de ser ou uma constante ou um literal, mas não pode ser uma variável. Isso dá erro. Aqui vai o exemplo desse erro:
 
#include <iostream>
Linha 56:
cin >> numTests;
int testScore[numTests];
system ("pause");
return 0;
}
 
A razão da exigência de ter um constant (ou literal) é que vamos alocar memória para o array na altura da compilação, e o compilador necessita de saber exactamente a quantidade de memória que deve reservar… porém se a variável é o size declarator, o compilador não sabe quanta memória deve reservar para alocar a variável, pois o seu valor pode mudar.
 
 
== Operador new ==