- Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 - Leap-15.6
 
| deductionguidesforstd::shared_ptr(3) | C++ Standard Libary | deductionguidesforstd::shared_ptr(3) | 
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
  
   #include <memory>
  
   int main()
  
   {
  
   auto p = std::make_shared<int>(42);
  
   std::weak_ptr w{p}; // explicit deduction guide is used in this case
  
   std::shared_ptr p2{w}; // explicit deduction guide is used in this case
  
   }
| 2024.06.10 | http://cppreference.com |