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

履歴 編集

function template
<random>

# std::operator>>(C++11)

    namespace std {
      template <class CharT, class Traits, class RealType>
      std::basic_istream<CharT, Traits>& operator>>(
        std::basic_istream<CharT, Traits>& os
        uniform_real_distribution<RealType>& x);
    }

## 概要

ストリームからの入力を行う。

## 効果

`uniform_real_distribution`のパラメータを読み取り、オブジェクト`x`に格納する。
不正な入力だった場合、`is.setstate(ios::failbit)`を呼び出し、ストリームを失敗状態にする。

## 事後条件

`is`のフォーマットフラグが、この関数を呼び出す前の状態に戻ること。

## 戻り値

`is`

## 例

    #include <iostream>
    #include <sstream>
    #include <cassert>
    #include <random>

    int main()
    {
      std::stringstream ss;

      // ストリームへ出力
      {
        std::uniform_real_distribution<> dist(0.0, 1.0);
        ss << dist;
      }

      // 出力結果を確認
      std::cout << ss.str() << std::endl;

      // 出力したストリームから読み込む
      {
        std::uniform_real_distribution<> dist;
        ss >> dist;

        assert(ss);
      }
    }

### 出力例

    0.00000000000000000e+00 1.00000000000000000e+00

## バージョン

### 言語

- C++11

### 処理系

- Clang: ??
- GCC: 4.7.2 ✅
- ICC: ??
- Visual C++: ??

## 参照