c++ - 为什么“新”只创建一个对象而不是一组对象?
问题描述
我目前正在尝试为我的国际象棋引擎制作一个转置表,并且正在使用一个具有结构对象的动态分配数组成员的类。
class TranspositionTable {
private:
TranspositionEntry* data_;
public:
TranspositionTable() {
data_ = new TranspositionEntry[5]; //5 is an example but i'm actually using a number over 16 million --
// that's why I need it dynamically allocated
}
~TranspositionTable() {
delete[] data_;
}
}
但是,当构造对象时,我检查了 Visual Studio 调试器,它只显示 data_ 成员包含单个结构对象,而不是它的数组。我正在使用'new'关键字并尝试更改它是否是指针等,但它仍然不起作用。谁能解释发生了什么?
解决方案
我才意识到问题所在。数组 WAS 实际被分配。但是由于我在 Visual Studio 调试器中,并且该值是一个指针,因此我实际上只看到了第一个值。其他人的 HTH!我的错!
推荐阅读
- python - 将h5文件的内容放入数据框中的问题
- python - 切片范围是否像切片列表一样使用额外空间?
- c# - 下面的 JSON 如何转换为 C# 类?
- django-crispy-forms - 脆皮表单 CheckboxSelectMultiple 内联显示
- laravel - 如何使用具有不同用户表的多重身份验证注销 JWT 令牌
- r - ggplot2 - 群体美学没有按预期工作我错过了什么吗?
- php - 从两个不同的网页同时从 php 文件更新 SQL 数据库
- .net - MuleSoft 是否支持 .Net Core 应用程序
- amazon-web-services - 将 Snowflake 账户链接到 AWS 账户 ID
- python - 如何在 Python 中找到列表的最大值?