modernize-use-default-member-init¶
此检查将 C++11 中构造函数的成员初始化器转换为新的默认成员初始化器。其他与默认成员初始化器匹配的成员初始化器将被移除。这可以减少重复代码或允许使用‘= default’。
struct A {
A() : i(5), j(10.0) {}
A(int i) : i(i), j(10.0) {}
int i;
double j;
};
// becomes
struct A {
A() {}
A(int i) : i(i) {}
int i{5};
double j{10.0};
};
注意
仅转换内置类型、枚举和指针的成员初始化器。 readability-redundant-member-init 检查将删除类中冗余的成员初始化器。
选项¶
- UseAssignment¶
如果此选项设置为 true(默认值为 false),则检查将使用赋值初始化成员。例如
struct A {
A() {}
A(int i) : i(i) {}
int i = 5;
double j = 10.0;
};
- IgnoreMacros¶
如果此选项设置为 true(默认值为 true),则检查不会对宏中声明的成员发出警告。