首页 > 解决方案 > 如何初始化对象中的静态指针数组

问题描述

例如,如果我有一个名为 CardHandler 的类,并且想要创建一个静态分配的指针数组,这些指针的类型为 Card 并且有 40 个位置,我该如何写入 h 文件和 cpp 文件?

我尝试过这样的事情:

class CardHandler
{
   private:
   Card **arr;
}

CardHandler::CardHandler()
{
    this->arr = new Card*[40];
}

但不认为这是正确的方法吗?我怀疑这与静态有关。

标签: c++arraysobjectstatic

解决方案


以下是如何创建具有固定大小的指针数组:

class CardHandler
{
private:
    Card* arr[40];
}

您需要使用在构造函数中分配在堆上的实际 Card 来填充指针。或者也许更好:

class CardHandler
{
private:
    Card arr[40];
}

这是一个由 40 个实际卡片组成的数组,您可以根据需要对其进行初始化,但从调用构造函数到调用析构函数之后,它总是会被分配。


推荐阅读