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: 9.0.1 ā
- GCC: 4.7.0 ā
- Visual C++: ??