std::ref bir reference_wrapper döner
std::reference_wrapper nesnesini oluşturmak için genellikle std::ref kullanırız
std::reference_wrapper nesnesini oluşturmak için genellikle std::ref kullanırız
#include <functional>
int a = 5;
auto b = ref(a);
b.get() = 3;
cout<<a<<endl;
pair <reference_wrapper<int>, int> test(b, 0);
a = 1000;
cout<<test.first<<endl;
Özellikle std::bind ile kullanımı çok yaygındır.void print(int i) {
std::cout << i << '\n';
}
int main() {
int i = 10;
auto f1 = std::bind(print, i);
auto f2 = std::bind(print, std::ref(i));
i = 20;
f1();
f2();
}
Çıktı olarak şunu alırız.10
20