最終更新日時(UTC): 2025年07月11日 17時16分44秒
Koichi Murase が更新

履歴 編集

function
<future>

# std::future::コンストラクタ(C++11)

    future() noexcept;                  // (1)
    future(future&& rhs) noexcept;      // (2)
    future(const future& rhs) = delete; // (3)

## futureオブジェクトの構築

- (1) : デフォルトコンストラクタ。共有状態を持たない空の`future`オブジェクトを生成する。
- (2) : ムーブコンストラクタ。`rhs`オブジェクトが持つ共有状態を`*this`に移動する。
- `future(const future& rhs) = delete;`
  コピーコンストラクタ。コピー不可。

## 事後条件

- (1) : `valid() == false`
- (2) :
  - `valid()`が、この関数実行前の`rhs.valid()`と等価になること。
  - `rhs.valid() == false`になること。

## 例

    #include <future>

    int main()
    {
      // デフォルト構築
      {
        std::future<int> f;
      }

      // ムーブ構築
      {
        std::promise<int> p;
        std::future<int> f = p.get_future();
      }
    }

### 出力

## バージョン

### 言語

- C++11

### 処理系

- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2012 ✅

## 参照