new一个二维对象指针数组
时间: 2023-11-12 16:56:47 浏览: 50
可以使用以下语句来new一个二维对象指针数组:
```
int row = 5, col = 10;
MyClass*** arr = new MyClass**[row];
for(int i = 0; i < row; i++){
arr[i] = new MyClass*[col];
for(int j = 0; j < col; j++){
arr[i][j] = new MyClass(); }
}
```
其中,MyClass是你要创建的对象类型,row和col分别是数组的行数和列数。
相关问题
如何给指针new一个二维数组空间
可以使用如下语法给指针new一个二维数组空间:
```c++
int rows = 3;
int cols = 4;
int **p = new int*[rows]; // 先创建指向指针行数组的指针
for(int i = 0; i < rows; i++){
p[i] = new int[cols]; // 再为每一行创建指向int类型的指针
}
```
这样就创建了一个3行4列的二维数组,其中`p`是一个指向int类型指针数组的指针,`p[i]`是指向int类型的指针,可以通过`p[i][j]`来访问二维数组中的元素。在使用完二维数组后,需要手动释放空间:
```c++
for(int i = 0; i < rows; i++){
delete[] p[i];
}
delete[] p;
```
C++new一个一维数组指针
可以这样写:
```c++
int* arr = new int[n];
```
其中,`n` 表示数组的长度。这里创建了一个 `int` 类型的一维数组,使用 `new` 运算符在堆上分配内存,并将返回的地址赋值给指针 `arr`。可以通过下标访问数组元素,例如 `arr[0]` 表示数组的第一个元素,`arr[1]` 表示数组的第二个元素,依此类推。在使用完数组后,需要使用 `delete[]` 运算符释放内存,例如:
```c++
delete[] arr;
```