最終更新日時:
が更新

履歴 編集

function
<functional>

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

reference_wrapper(T& t) noexcept;                       // (1)
reference_wrapper(T&&) = delete;                        // (2)
reference_wrapper(const reference_wrapper& x) noexcept; // (3)

概要

与えられた参照で、参照オブジェクトを構築する。

  • (1) : tへの参照を保持するreference_wrapperオブジェクトを構築する
  • (2) : 右辺値参照は受け取れない
  • (3) : x.get()への参照を保持するreference_wrapperオブジェクトを構築する

#include <iostream>
#include <functional>

int main()
{
  int x = 3;

  // (1)
  // xへの参照を保持する
  std::reference_wrapper<int> r(x);
  r.get() += 1;
  std::cout << x << std::endl;

  // (2)
  // 参照ラッパーrが指すxへの参照を保持する
  std::reference_wrapper<int> r2(r);
  r2.get() += 1;
  std::cout << x << std::endl;
}

出力

4
5

バージョン

言語

  • C++11

処理系

参照