如何使用new在C++中声明二维动态数组?
你好!我刚开始学习C++,遇到了一个问题。需要创建一个二维数组,其大小只在程序运行时才知道。我知道如何声明静态二维数组:`int arr[3][4];`,但当我尝试让大小成为变量时,编译器报错。
我试过这样的代码:
```cpp
int rows = 5, cols = 10;
int arr[rows][cols]; // 错误!需要编译时常量
```
我查阅了动态内存,了解到需要使用`new`。但如何正确为二维数组分配内存?我在网上看到几种不同的方法。有人使用指针数组,有人分配一个大的内存块。
请写出使用`new`创建二维数组的正确且可靠的方法。特别感兴趣的是:
1. 如何分配内存。
2. 如何访问元素。
3. 如何正确释放内存(避免泄漏)。
4. 在现代C++中哪种方法被认为是最佳实践?