Alternatives , each with slightly different properties:
Code://1 int **arr2d = new int*[rows]; for (i = 0; i < rows; i++) arr2d[i] = new int[cols]; //and release for (i = 0; i < rows; i++) delete[] arr2d[i]; delete[] arr2d; //2 std::vector< std::vector<int> > arr2d(rows, std::vector<int>(cols)); // no need to explicitly release //3 std::vector<*int> arr2d(rows); std::vector<int> arr2d_data(rows*cols); for (i = 0; i < rows; i++) arr2d[i] = &arr2d_data[i*cols];




Reply With Quote