最終更新日時:
が更新

履歴 編集

function
<functional>

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

reference_wrapper(T& t) noexcept;
reference_wrapper(T&&) = delete;
reference_wrapper(const reference_wrapper<T>& x) noexcept;

概要

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

各オーバーロードの詳細

  • reference_wrapper(T& t) noexcept;
    tへの参照を保持するreference_wrapperオブジェクトを構築する
  • reference_wrapper(const reference_wrapper<T>& x) noexcept;
    x.get()への参照を保持するreference_wrapperオブジェクトを構築する

#include <iostream>
#include <functional>

int main()
{
  int x = 3;

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

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

出力

4
5

バージョン

言語

  • C++11

処理系

参照