c++中new employee *[num]是什么意思?

What is meant by the statement new employee *[num] in C++

本文关键字:是什么 意思 num new employee c++      更新时间:2023-10-16

我是在一本书上看到这句话的。

new employee *[num];

中employee已经被声明为struct employeenum是整型;

在语句=操作符的右边

那么,这句话是什么意思?

这将为自由存储区中num个指向employee的指针分配所需的内存。

例句:

employee** a = new employee* [2]; // 2 pointers on the heap
堆:

address a (e.g. 0x97a0008): pointer1 to employee
address a + 1 ( 0x97a000c): pointer2 to employee

旁注:你在数组上使用delete[],所以你可以用delete[] a 删除上面的内容,但是你必须首先循环所有条目,如果你已经为它们分配了内存,所以它必须在你释放指针之前被释放。

https://stackoverflow.com/a/13477214/1141471

我想是这样的,

typedef employee* TEmployee;
TEmployee * ap = new TEmployee[10];

因此,它为大小为10的动态数组分配内存,类型为TEmployee(不是employee)。就这么简单,

int * aip = new int[10];

TEmployee本身是一个指向employee的指针类型。