结构成员的默认值

Default value of a struct member

本文关键字:默认值 成员 结构      更新时间:2023-10-16

(我确定这个问题已经得到了回答,我只是不确定用什么词来问它。如果有人告诉我正确的术语是什么,那就太棒了!

我正在为一个数据结构类实现C++HashSet,并且我对有关结构C++语法有疑问。这是我的代码:

struct HashNode
{
    T value;
    HashNode* next = nullptr;
};

调用 new HashNode 时,此代码是否会正确初始化指向nullptrnext指针?如果不是,new HashNodenext的价值是多少?

当调用新的 HashNode 时,此代码是否正确初始化指向 nullptr 的下一个指针?

是的,它将被初始化为 nullptr .这是类中的大括号或等于初始值设定项(默认成员初始值设定项)(自 C++11 起),如果在成员初始值设定项列表中省略了该成员,则将使用它。

通过默认成员初始值设定项,它只是一个大括号或 等于成员声明中包含的初始值设定项,该初始值设定项使用 如果在成员初始值设定项列表中省略了该成员

如果成员具有默认成员初始值设定项,并且还显示在 构造函数中的成员初始化列表,默认成员 初始值设定项将被忽略。