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

ใน C ++ อะไรคือความแตกต่างระหว่างตัวแปรพอยน์เตอร์และตัวแปรอ้างอิง?


ข้อมูลอ้างอิง

เมื่อตัวแปรถูกประกาศเป็นข้อมูลอ้างอิง ตัวแปรนั้นจะกลายเป็นชื่อทางเลือกสำหรับตัวแปรที่มีอยู่

ไวยากรณ์

Type &newname = existing name;

เริ่มต้น

Type &pointer;
pointer = variable name;

พอยน์เตอร์

พอยน์เตอร์ใช้สำหรับเก็บแอดเดรสของตัวแปร

ไวยากรณ์

Type *pointer;

การเริ่มต้น

Type *pointer;
pointer = variable name;

ความแตกต่างที่สำคัญระหว่างการอ้างอิงและตัวชี้คือ -

  • การอ้างอิงใช้เพื่ออ้างถึงตัวแปรที่มีอยู่ในชื่ออื่น ในขณะที่ตัวชี้ถูกใช้เพื่อเก็บที่อยู่ของตัวแปร

  • การอ้างอิงไม่สามารถกำหนดค่า null ได้ แต่ตัวชี้สามารถ

  • ตัวแปรอ้างอิงสามารถอ้างอิงโดยผ่านค่าในขณะที่ตัวชี้สามารถอ้างอิงได้ แต่ผ่านโดยการอ้างอิง

  • การอ้างอิงจะต้องเริ่มต้นในการประกาศในขณะที่ไม่จำเป็นในกรณีของตัวชี้

  • ข้อมูลอ้างอิงใช้ที่อยู่หน่วยความจำเดียวกันกับตัวแปรดั้งเดิม แต่ยังใช้พื้นที่บางส่วนในสแต็กในขณะที่ตัวชี้มีที่อยู่หน่วยความจำและขนาดของตัวเองบนสแต็ก