Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตัวดำเนินการที่อยู่คู่ (&&) ใน C ++ คืออะไร


&&เป็นโอเปอเรเตอร์อ้างอิงใหม่ที่กำหนดไว้ในมาตรฐาน C++11 int&&a หมายถึง "a" เป็นการอ้างอิงค่า r &&มักใช้เพื่อประกาศพารามิเตอร์ของฟังก์ชันเท่านั้น และใช้นิพจน์ค่า r เท่านั้น

พูดง่ายๆ ค่า r คือค่าที่ไม่มีที่อยู่หน่วยความจำ เช่น. ตัวเลข 6 และอักขระ 'v' เป็นทั้งค่า r int a เป็นค่า l อย่างไรก็ตาม (a+2) เป็นค่า r

ตัวอย่าง

void foo(int&& a)
{
   //Some magical code...
}
int main()
{
   int b;
   foo(b);       //Error. An rValue reference cannot be pointed to a lValue.
   foo(5);       //Compiles with no error.
   foo(b+3);     //Compiles with no error.
   int&& c = b;  //Error. An rValue reference cannot be pointed to a lValue.
   int&& d = 5;  //Compiles with no error.
}

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับค่า R และตัวดำเนินการนี้ได้ที่ https://blogs.msdn.com/b/vcblog/archive/2009/02/03/rvalue-references-c-0x-features-in-vc10-part- 2.aspx