在C ++中,在对象创建括号之前的星号是什么意思?

詹姆斯4701

我正在从一个网站上阅读C ++哈希表实现的示例,并看到了这一点。

private:
  HashEntry **table;
public:
  HashMap() {
        table = new HashEntry*[TABLE_SIZE];
        for (int i = 0; i < TABLE_SIZE; i++)
              table[i] = NULL;
  }

我不懂的语法是:

table = new HashEntry*[TABLE_SIZE];

像这样在方括号前加星号是什么意思?

约翰·兹温克

new HashEntry*[TABLE_SIZE]分配并构造一个TABLE_SIZE元素数组,其中每个元素都是a HashEntry*,即指向a的指针HashEntry

一个更现代的C ++版本将是:

private:
  std::vector<std::unique_ptr<HashEntry>> table;
public:
  HashMap() : table(TABLE_SIZE) {}

这样可以避免定义自己的析构函数,并且通常更安全。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

“对象表达”在C ++中是什么意思

来自分类Dev

:: *(作用域运算符后的星号)在C ++模板中是什么意思?

来自分类Dev

在C#类中,类名周围的括号是什么意思

来自分类Dev

花括号内的`var`在C#中是什么意思?

来自分类Dev

[&]在C ++中是什么意思

来自分类Dev

**在C中是什么意思?

来自分类Dev

C中的“流”是什么意思?

来自分类Dev

**在C ++中是什么意思?

来自分类Dev

C ++中的代码是什么意思?

来自分类Dev

*(int *)在C ++中是什么意思?

来自分类Dev

(void)在c ++中是什么意思?

来自分类Dev

C中的“ a ## b”是什么意思?

来自分类Dev

^在C ++中是什么意思?

来自分类Dev

:在C中是什么意思?

来自分类Dev

在C中,“&”号是什么意思?

来自分类Dev

目标c中的&=是什么意思?

来自分类Dev

*-end()在C ++中是什么意思?

来自分类Dev

在C ++中,^(){}和^ {}是什么意思?

来自分类Dev

在C#中':this'是什么意思

来自分类Dev

在C ++中'return * this'是什么意思?

来自分类Dev

在c#中,'??'是什么意思?

来自分类Dev

__align(A)在C中是什么意思

来自分类Dev

C ++中的代码是什么意思?

来自分类Dev

[&]在C ++中是什么意思

来自分类Dev

^在C ++中是什么意思?

来自分类Dev

* a = * b在C中是什么意思?

来自分类Dev

在C#中=]是什么意思?

来自分类Dev

^ {}在C中是什么意思?

来自分类Dev

在C ++中(“ <<”)是什么意思?