Skip to content

Latest commit

 

History

History
72 lines (52 loc) · 1.65 KB

File metadata and controls

72 lines (52 loc) · 1.65 KB

get_future

  • future[meta header]
  • std[meta namespace]
  • packaged_task[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
future<R> get_future();
  • future[link ../future.md]

概要

結果取得のためのfutureオブジェクトを取得する

戻り値

*thisと同じ共有状態を持つfuture<R>オブジェクトを返す

例外

この関数は、以下のerror conditionを持つfuture_error例外オブジェクトを送出する可能性がある:

  • future_already_retrieved : すでにこの関数によって共有状態が作られている
  • no_state*thisが共有状態を持っていない(デフォルト構築されたpackaged_task、ムーブされたあとなどに起こりうる)

#include <iostream>
#include <future>

int calc() { return 3; }

int main()
{
  std::packaged_task<int()> task(calc); // calc()を非同期タスクとして登録
  std::future<int> f = task.get_future(); // 結果値取得のためのfutureを取得

  // タスクを実行
  task();

  // 結果を取得
  int result = f.get();
  std::cout << result << std::endl;
}
  • get_future()[color ff0000]
  • std::future[link /reference/future/future.md]
  • task()[link op_call.md]
  • f.get()[link /reference/future/future/get.md]

出力

3

バージョン

言語

  • C++11

処理系

参照