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

履歴 編集

<valarray>

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

    namespace std {
      template <class T, std::size_t cnt>
      valarray(const T(&)[cnt], std::size_t) -> valarray<T>;
    }

## 概要

`std::valarray`クラステンプレートの型推論補助。配列と使用する要素数から推論する。

## 例

    #include <iostream>
    #include <valarray>
    #include <type_traits>

    int main()
    {
      int ar[] = {1, 2, 3};

      // 配列と使用する要素数から推論
      std::valarray va {ar, 2};

      static_assert(std::is_same_v<
        decltype(va),
        std::valarray<int>
      >);

      for (int x : va) {
          std::cout << x << std::endl;
      }
    }

### 出力

    1
    2

## バージョン

### 言語

- C++17

### 処理系

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

## 関連項目

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

## 参照

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