gpt4 book ai didi

c++ - 我将如何以更面向对象的方式表示它?

转载 作者:行者123 更新时间:2023-11-30 04:21:16 26 4
gpt4 key购买 nike

typedef char STR10[10+1];
typedef char STR20[20+1];

typdef struct Slot
{
STR10 key;
STR10 value;
};

const int MAX_SLOTS = 3;
const int MAX_BUCKETS = 30;

typedef struct Bucket
{

short int count;
short int overflow;
Slot slots[MAX_SLOTS];
};

typedef Bucket HashTable[MAX_BUCKETS];

大多数情况下,我只是对最后一行的概念感到困惑。我知道我可以将结构更改为类,这会很好,但最后一行让我明白了。它基本上是说 HashTable 是一个桶数组。该代码是否足够好,或者是否有一种方法可以在 HashTable 类中表示该代码?

class HashTable 
{
private:
Bucket table[MAX_BUCKETS];
}

这是否代表相同的想法?我真的很难开始这个。

最佳答案

如果可以的话,我可能会将 char 数组替换为 std::string , 插槽数组 std::vector ,用枚举替换定义:

enum SlotSize
{
MaxSlots = 3
};

enum BucketSize
{
MaxBuckets = 30
};

struct Slot
{
std::string key;
std::string value;
};

struct Bucket
{

int count;
int overflow;
std::vector<Slot> slots;
};

class HashTable
{
private:
std::vector<Bucket> table;
}

关于c++ - 我将如何以更面向对象的方式表示它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14594621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com