在c++中,大小声明之前的数组分配中的*是什么意思?
What does means * in array allocation before size declaration in C++?
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
。
相关文章:
- 将数组的地址分配给变量并删除
- 使用动态分配的数组会导致代码分析发出虚假的C6386缓冲区溢出警告
- 获取字符串的长度并将其分配给数组
- 在c++中为我自己的基于指针的数组分配内存的正确方法
- 使用递归模板动态分配的多维数组
- 如何正确填充在堆上分配的二维数组?
- 在函数范围内在堆栈上分配的数组在离开函数时是否总是被释放?
- 在 C++ 中搜索动态分配的数组中的出现次数
- 动态分配的聊天数组打印缺失的数据和空
- 关于字符数组,我正在尝试将数组中的每个字符分配给另一个值
- 我似乎无法为指针分配一个数组,然后更改数组的内容
- 具有自定义构造函数 (C++) 的类型的动态数组分配
- 无法分配C++数组
- 如何增加以前由新运算符分配的 C++ std::list 数组的大小?
- 分配 2D 可变大小的数组
- 介于 [固定数组] 和 [带内存分配的指针] 之间的性能
- 动态分配字符数组的内存
- C++具有动态分配的字符数组的结构
- C 通过参考分配 /数组传递内存
- 使用字符串或字符动态分配(数组)