c++ - 如何初始化对象中的静态指针数组
问题描述
例如,如果我有一个名为 CardHandler 的类,并且想要创建一个静态分配的指针数组,这些指针的类型为 Card 并且有 40 个位置,我该如何写入 h 文件和 cpp 文件?
我尝试过这样的事情:
class CardHandler
{
private:
Card **arr;
}
CardHandler::CardHandler()
{
this->arr = new Card*[40];
}
但不认为这是正确的方法吗?我怀疑这与静态有关。
解决方案
以下是如何创建具有固定大小的指针数组:
class CardHandler
{
private:
Card* arr[40];
}
您需要使用在构造函数中分配在堆上的实际 Card 来填充指针。或者也许更好:
class CardHandler
{
private:
Card arr[40];
}
这是一个由 40 个实际卡片组成的数组,您可以根据需要对其进行初始化,但从调用构造函数到调用析构函数之后,它总是会被分配。
推荐阅读
- java - Spring Cloud Config vs Spring Cloud Consul Config KV
- google-chrome-extension - Chrome 扩展程序:在扩展程序中导航时会自动创建新的历史记录
- python - Pandas:写入 Excel 在 Databricks 中不起作用
- algorithm - 我可以在扩展 (a + b) % k 时忽略最后一个 k 吗?
- r - 无法在 R-4.0.5 上安装 dplyr
- javascript - 如何使用浏览器和 Facebook 会话发送发布请求
- reactjs - Sentry:使用 React 时启用可读的堆栈跟踪
- installation - 在 Mac OS X 11.2.2 上使用 Anaconda 安装 PyGMO 期间的冲突
- c# - 在视图 C# MVC 中计算年龄
- android - Firebase身份验证未经许可更新用户配置文件