#include <vector>
#include <functional>
#include <iostream>
class test
{
public:
int number;
test(int pass) : number(pass) {}
};
int main()
{
test x(1), y(2);
std::vector<std::reference_wrapper<test>> z{ std::ref(x), std::ref(y) };
x.number = 5;
y.number = 3;
std::cout << z[0].get().number << std::endl; // 5
std::cout << z[1].get().number << std::endl; // 3
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCmNsYXNzIHRlc3QKewogICAgcHVibGljOgogICAgICAgIGludCBudW1iZXI7CiAgICAgICAgdGVzdChpbnQgcGFzcykgOiBudW1iZXIocGFzcykge30KfTsKCmludCBtYWluKCkKewogICAgdGVzdCB4KDEpLCB5KDIpOwoKICAgIHN0ZDo6dmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8dGVzdD4+IHp7IHN0ZDo6cmVmKHgpLCBzdGQ6OnJlZih5KSB9OwoKICAgIHgubnVtYmVyID0gNTsKICAgIHkubnVtYmVyID0gMzsKCiAgICBzdGQ6OmNvdXQgPDwgelswXS5nZXQoKS5udW1iZXIgPDwgc3RkOjplbmRsOyAvLyA1CiAgICBzdGQ6OmNvdXQgPDwgelsxXS5nZXQoKS5udW1iZXIgPDwgc3RkOjplbmRsOyAvLyAzCn0=