在c++中,大小声明之前的数组分配中的*是什么意思?

What does means * in array allocation before size declaration in C++?

本文关键字:分配 数组 意思 是什么 c++ 声明      更新时间:2023-10-16
table = new myObject*[TABLE_SIZE];

我知道*是用于声明指针变量和从指针获取变量的值,但这是什么意思?

就是这个意思。

table是指向数组(大小为TABLE_SIZE)的指针指向类型为myObject的对象的指针。注意,此时还没有为这些指针分配任何内存。

用完后别忘了打电话给delete[] table;

这意味着你分配了一个类型为myObject*,大小为TABLE_SIZE的数组。

所以在这种情况下,我们为指针而不是对象分配空间。

变量table将是指向指针数组的指针,或者是myObject**

因此,table将指向指针列表中的第一个元素。

你已经知道它的意思了:-)

类型myObject *是指向myObject对象的指针,因此您声明的是上述指针的数组,确切地说是TABLE_SIZE

星号在这里也表示指针。我假设 table被声明为

myObject** table;

你所做的是分配一个"数组"的TABLE_SIZE 指针myObject