Computer >> Máy Tính >  >> Lập trình >> C ++

reference_wrapper trong C ++

Trong C ++, reference_wrapper là một mẫu lớp giúp bao bọc một tham chiếu trong một đối tượng có thể gán sao chép và có thể xây dựng sao chép kiểu T. Các thể hiện của std ::reference_wrapper về cơ bản là các đối tượng, nhưng chúng có thể được chuyển đổi thành T &. Vì vậy, chúng ta có thể sử dụng làm đối số với các hàm có kiểu cơ bản bằng tham chiếu.

Mã mẫu

#include <iostream>
#include <functional>
using namespace std;
int main () {
   char a = 'h', b = 'e', c = 'l', d = 'l', e = 'o' , f = 'W', g = 'o', h = 'r', i = 'l', j = 'd';
   reference_wrapper<char> ref[] = {a, b, c, d, e, f, g, h, i, j}; //creating reference array
   for (char& s : ref)
      cout << s;
   cout <<endl;
   return 0;
}

Đầu ra

soumyadeep@soumyadeep-VirtualBox:~$ ./a.out
helloWorld
soumyadeep@soumyadeep-VirtualBox:~$