Comment allouer dynamiquement une matrice?

Comment allouer dynamiquement une matrice 2D en C++?
J'ai essayé basé sur ce que je sais déjà:

#include <iostream>

int main(){
    int rows;
    int cols;
    int * arr;
    arr = new int[rows][cols];
 }

Il travaille pour un seul paramètre, mais maintenant pour les deux. Que dois-je faire?

source d'informationauteur chustar