结构成员的默认值
Default value of a struct member
(我确定这个问题已经得到了回答,我只是不确定用什么词来问它。如果有人告诉我正确的术语是什么,那就太棒了!
我正在为一个数据结构类实现C++HashSet
,并且我对有关结构C++语法有疑问。这是我的代码:
struct HashNode
{
T value;
HashNode* next = nullptr;
};
调用 new HashNode
时,此代码是否会正确初始化指向nullptr
的next
指针?如果不是,new HashNode
后next
的价值是多少?
当调用新的 HashNode 时,此代码是否正确初始化指向 nullptr 的下一个指针?
是的,它将被初始化为 nullptr
.这是类中的大括号或等于初始值设定项(默认成员初始值设定项)(自 C++11 起),如果在成员初始值设定项列表中省略了该成员,则将使用它。
通过默认成员初始值设定项,它只是一个大括号或 等于成员声明中包含的初始值设定项,该初始值设定项使用 如果在成员初始值设定项列表中省略了该成员
如果成员具有默认成员初始值设定项,并且还显示在 构造函数中的成员初始化列表,默认成员 初始值设定项将被忽略。
相关文章:
- 为什么在使用指针时不采用类成员的默认值,而不是直接实例化对象时?
- C++中未初始化成员布尔变量的默认值是多少?
- C++11 默认类成员初始化与初始值设定项列表同时
- 为什么不能使用"( )"为类的非静态数据成员提供默认值?
- 使用默认值初始化成员引用
- 模板类专业化具有成员变量和方法的默认值
- 初始化类成员 - 默认值还是成员初始化列表?
- 具有类成员默认值的 C++11 默认构造函数行为
- 受保护成员 c++ 的默认值
- 成员属性作为方法的默认值
- Corba IDL:结构成员的默认值
- 结构成员的默认值
- 为向量成员和更新元素指定默认值
- 基本成员初始化与在类声明中指定默认值
- 类内定义的静态结构的静态成员的编译时默认值
- 使用类函数中的类数据成员作为默认值 c++
- boost::绑定具有默认值的成员函数
- 如何将未知类型的数据成员初始化为默认值
- 为引用成员变量提供默认值
- 我可以为模板成员函数提供几个默认值吗