类中的成员值是在创建对象时初始化的吗?

2024-01-18

我正在写一个哈希类:

struct hashmap {
  void insert(const char* key, const char* value);
  char* search(const char* key);
 private:
  unsigned int hash(const char* s);
  hashnode* table_[SIZE]; // <--
};

由于 insert() 在插入新对时需要检查 table[i] 是否为空,因此我需要在启动时将表中的所有指针设置为 NULL。

我的问题是,这个指针数组table_自动初始化为零,或者我应该手动使用循环在构造函数中将数组设置为零?


The table_数组将是未初始化的在你当前的设计中,就像你说int n;。但是,您可以在构造函数中对数组进行值初始化(从而对每个成员进行零初始化):

struct hash_map
{
    hash_map()
    : table_()
    {
    }

    // ...
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类中的成员值是在创建对象时初始化的吗? 的相关文章

随机推荐