Como alocar dinamicamente matrizes em C ++

Eu sei como alocar espaço dinamicamente para uma matriz em C. Isso pode ser feito da seguinte maneira:

L = (int*)malloc(mid*sizeof(int)); 

e a memória pode ser liberada por:

free(L);

Como obtenho o equivalente em C ++?

Especificamente, como eu uso onew edelete[] palavras-chave? Especialmente no contexto de criação / destruição de um nó de lista vinculada ou criação e destruição de uma matriz cujo tamanho é fornecido por uma variável durante o tempo de compilação?

questionAnswers(5)

yourAnswerToTheQuestion