| .. title:: clang-tidy - modernize-use-default-member-init |
| |
| modernize-use-default-member-init |
| ================================= |
| |
| This check converts a default constructor's member initializers into the new |
| default member initializers in C++11. Other member initializers that match the |
| default member initializer are removed. This can reduce repeated code or allow |
| use of '= default'. |
| |
| .. code-block:: c++ |
| |
| 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}; |
| }; |
| |
| .. note:: |
| Only converts member initializers for built-in types, enums, and pointers. |
| The `readability-redundant-member-init` check will remove redundant member |
| initializers for classes. |
| |
| Options |
| ------- |
| |
| .. option:: UseAssignment |
| |
| If this option is set to non-zero (default is `0`), the check will initialise |
| members with an assignment. For example: |
| |
| .. code-block:: c++ |
| |
| struct A { |
| A() {} |
| A(int i) : i(i) {} |
| int i = 5; |
| double j = 10.0; |
| }; |
| |
| .. option:: IgnoreMacros |
| |
| If this option is set to non-zero (default is `1`), the check will not warn |
| about members declared inside macros. |