reference_wrapper& operator=(const reference_wrapper<T>& x) noexcept; //C++11
constexpr reference_wrapper& operator=(const reference_wrapper<T>& x) noexcept; //C++20
概要
参照先を切り替える
効果
*this
がx.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;
}
出力
3
6
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: ??