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