tidy - modernize-make-shared — Extra Clang Tools 22.0.0git documentation (original) (raw)
This check finds the creation of std::shared_ptr objects by explicitly calling the constructor and a new expression, and replaces it with a call to std::make_shared.
auto my_ptr = std::shared_ptr(new MyPair(1, 2));
// becomes
auto my_ptr = std::make_shared(1, 2);
This check also finds calls to std::shared_ptr::reset() with a newexpression, and replaces it with a call to std::make_shared.
my_ptr.reset(new MyPair(1, 2));
// becomes
my_ptr = std::make_shared(1, 2);
Options¶
MakeSmartPtrFunction¶
A string specifying the name of make-shared-ptr function. Default isstd::make_shared.
A string specifying the corresponding header of make-shared-ptr function. Default is .
IncludeStyle¶
A string specifying which include-style is used, llvm or google. Default is llvm.
IgnoreMacros¶
If set to true, the check will not give warnings inside macros. Default is true.
IgnoreDefaultInitialization¶
If set to false, the check does not suggest edits that will transform default initialization into value initialization, as this can cause performance regressions. Default is true.