ข้อมูลอ้างอิง
เมื่อมีการประกาศตัวแปรเป็นข้อมูลอ้างอิง ตัวแปรนั้นจะกลายเป็นชื่อทางเลือกสำหรับตัวแปรที่มีอยู่
ไวยากรณ์
Type &newname = existing name;
การเริ่มต้น
Type &pointer; pointer = variable name;
ตัวชี้
พอยน์เตอร์ใช้สำหรับเก็บแอดเดรสของตัวแปร
ไวยากรณ์
Type *pointer;
การเริ่มต้น
Type *pointer; pointer = variable name;
ความแตกต่างที่สำคัญระหว่างการอ้างอิงและตัวชี้คือ -
- การอ้างอิงใช้เพื่ออ้างอิงตัวแปรที่มีอยู่ในชื่ออื่น ในขณะที่ตัวชี้ถูกใช้เพื่อเก็บที่อยู่ของตัวแปร
- การอ้างอิงไม่สามารถกำหนดค่า null ได้ แต่ตัวชี้สามารถทำได้
- ตัวแปรอ้างอิงสามารถอ้างอิงบายพาสด้วยค่าในขณะที่ตัวชี้สามารถอ้างอิงได้ แต่ผ่านโดยการอ้างอิง
- การอ้างอิงจะต้องเริ่มต้นในการประกาศ ในขณะที่ไม่จำเป็นในกรณีของตัวชี้
- ข้อมูลอ้างอิงใช้ที่อยู่หน่วยความจำเดียวกันกับตัวแปรดั้งเดิม แต่ยังใช้พื้นที่บางส่วนบนสแต็กในขณะที่ตัวชี้มีที่อยู่หน่วยความจำและขนาดของตัวเองบนสแต็ก