правила вывода для std::weak_ptr
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <memory>
|
||
template< class T > weak_ptr(std::shared_ptr<T>) -> weak_ptr<T>; |
(начиная с C++17) | |
Для std::weak_ptr предоставляется одно правило вывода для учёта пограничного случая, пропущенного неявными правилами вывода.
Пример
Запустить этот код
#include <memory>
int main()
{
auto p = std::make_shared<int>(42);
std::weak_ptr w{p}; // в этом случае используется явное правило вывода
}