为什么 'new' 只创建一个对象而不是一组对象?
Why does is 'new' creating only one object and not an array of objects?
我目前正在尝试为我的国际象棋引擎进行换位 Table,并且正在使用 class 和结构对象的动态分配数组成员。
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' 关键字并尝试更改它是否是指针等,但它仍然不起作用。谁能解释一下这是怎么回事?
我刚刚意识到这个问题。该数组实际上正在分配。但由于我在 visual studio 调试器中,并且该值是一个指针,所以我实际上只看到了第一个值。其他人的 HTH!我的错!
我目前正在尝试为我的国际象棋引擎进行换位 Table,并且正在使用 class 和结构对象的动态分配数组成员。
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' 关键字并尝试更改它是否是指针等,但它仍然不起作用。谁能解释一下这是怎么回事?
我刚刚意识到这个问题。该数组实际上正在分配。但由于我在 visual studio 调试器中,并且该值是一个指针,所以我实际上只看到了第一个值。其他人的 HTH!我的错!