ใน C ++ reference_wrapper เป็นเทมเพลตคลาสที่ช่วยโดยห่อการอ้างอิงในสำเนาที่สร้างได้และคัดลอกวัตถุที่กำหนดได้ประเภท T อินสแตนซ์ของ std::reference_wrapper เป็นวัตถุโดยทั่วไป แต่สามารถแปลงเป็น T&ได้ ดังนั้นเราจึงสามารถใช้เป็นอาร์กิวเมนต์กับฟังก์ชันที่ใช้ประเภทอ้างอิงโดยการอ้างอิง
โค้ดตัวอย่าง
#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; }
ผลลัพธ์
soumyadeep@soumyadeep-VirtualBox:~$ ./a.out helloWorld soumyadeep@soumyadeep-VirtualBox:~$