deductionguidesforstd::shared_ptr (3) - Linux Manuals
deductionguidesforstd::shared_ptr: deductionguidesforstd::shared_ptr
NAME
deductionguidesforstd::shared_ptr - deductionguidesforstd::shared_ptr
Synopsis
Defined in header <memory>
template <class T> (1) (since C++17)
shared_ptr(std::weak_ptr<T>) -> shared_ptr<T>;
template <class T, class D> (2) (since C++17)
shared_ptr(std::unique_ptr<T, D>) -> shared_ptr<T>;
These deduction_guides are provided for std::shared_ptr to account for the edge cases missed by the implicit deduction guides.
Note that there is no class template argument deduction from pointer types because it is impossible to distinguish pointers obtained from array and non-array forms of new.
Example
// Run this code