modernize-use-equals-default

此检查将特殊成员函数的默认主体替换为 = default;。显式默认的函数声明在优化方面提供了更多机会,因为编译器可能会将显式默认的函数视为平凡的。

struct A {
  A() {}
  ~A();
};
A::~A() {}

// becomes

struct A {
  A() = default;
  ~A();
};
A::~A() = default;

注意

移动构造函数和移动赋值运算符目前尚不支持。

选项

IgnoreMacros

如果设置为 true,则该检查将不会在宏内发出警告,并且会忽略包含宏或预处理器指令的特殊成员函数主体。默认值为 true