最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

<memory>

# std::weak_ptr::推論補助(C++17)

    namespace std {
      template<class T>
      weak_ptr(shared_ptr<T>) -> weak_ptr<T>;
    }

## 概要

`std::shared_ptr`から`std::weak_ptr`に変換する際の、クラステンプレートの型推論補助。

## 例

    #include <memory>
    #include <type_traits>

    int main()
    {
      std::shared_ptr<int> sp {new int(3)};
      std::weak_ptr wp = sp;
      static_assert(std::is_same_v<
        decltype(wp),
        std::weak_ptr<int>
      >);
    }

### 出力

## バージョン

### 言語

- C++17

### 処理系

- Clang:
- GCC: 7.1.0 ✅
- Visual C++: ??

## 関連項目

- C++17 クラステンプレートのテンプレート引数推論

## 参照

- P0433R2 Toward a resolution of US7 and US14: Integrating template deduction for class templates into the standard library