Skip to content

Latest commit

 

History

History
67 lines (48 loc) · 1.1 KB

op_assign.md

File metadata and controls

67 lines (48 loc) · 1.1 KB

operator=

  • functional[meta header]
  • std[meta namespace]
  • reference_wrapper[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
reference_wrapper& operator=(const reference_wrapper<T>& x) noexcept;           //C++11

constexpr reference_wrapper& operator=(const reference_wrapper<T>& x) noexcept; //C++20

概要

参照先を切り替える

効果

*thisx.get()を指すように更新する

戻り値

*this

#include <iostream>
#include <functional>

int main()
{
  int x = 3;
  int y = 5;

  // xへの参照を保持する
  std::reference_wrapper<int> r(x);
  r = std::ref(y); // yへの参照を保持するよう切り替える

  r.get() += 1;

  std::cout << x << std::endl;
  std::cout << y << std::endl;
}
  • std::ref[link /reference/functional/ref.md]
  • r.get()[link get.md]

出力

3
6

バージョン

言語

  • C++11

処理系

参照