readability-redundant-member-init¶
Finds member initializations that are unnecessary because the same default constructor would be called if they were not present.
Example¶
// Explicitly initializing the member s and v is unnecessary.
class Foo {
public:
  Foo() : s() {}
private:
  std::string s;
  std::vector<int> v {};
};
Options¶
- IgnoreBaseInCopyConstructors¶
- Default is false. - When true, the check will ignore unnecessary base class initializations within copy constructors, since some compilers issue warnings/errors when base classes are not explicitly initialized in copy constructors. For example, - gccwith- -Wextraor- -Werror=extraissues warning or error- base class 'Bar' should be explicitly initialized in the copy constructorif- Bar()were removed in the following example:
// Explicitly initializing member s and base class Bar is unnecessary.
struct Foo : public Bar {
  // Remove s() below. If IgnoreBaseInCopyConstructors!=0, keep Bar().
  Foo(const Foo& foo) : Bar(), s() {}
  std::string s;
};