C++ การอ้างอิง
รับที่อยู่หน่วยความจำและมูลค่า
ในตัวอย่างจากหน้าที่แล้ว เราใช้ตัวแปรตัวชี้เพื่อรับที่อยู่หน่วยความจำของตัวแปร (ใช้ร่วมกับตัว ดำเนิน &
การอ้างอิง ) อย่างไรก็ตาม คุณสามารถใช้ตัวชี้เพื่อรับค่าของตัวแปรโดยใช้ตัว*
ดำเนินการ ( ตัวดำเนินการ dereference ):
ตัวอย่าง
string food = "Pizza"; // Variable declaration
string* ptr =
&food; // Pointer declaration
//
Reference: Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
//
Dereference: Output the value of food with the pointer (Pizza)
cout <<
*ptr << "\n";
โปรดทราบว่า*
เครื่องหมายอาจสร้างความสับสนในที่นี้ เนื่องจากมีการทำงานสองอย่างที่แตกต่างกันในโค้ดของเรา:
- เมื่อใช้ในการประกาศ (string* ptr) จะสร้างตัวแปรตัวชี้
- เมื่อไม่ใช้ในการประกาศ จะทำหน้าที่เป็นตัวดำเนินการอ้างอิง