modernize-use-equals-default¶
此检查将特殊成员函数的默认主体替换为 = default;
。显式默认的函数声明在优化方面提供了更多机会,因为编译器可能会将显式默认的函数视为平凡的。
struct A {
A() {}
~A();
};
A::~A() {}
// becomes
struct A {
A() = default;
~A();
};
A::~A() = default;
注意
移动构造函数和移动赋值运算符目前尚不支持。
选项¶
- IgnoreMacros¶
如果设置为 true,则该检查将不会在宏内发出警告,并且会忽略包含宏或预处理器指令的特殊成员函数主体。默认值为 true。