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

การอ้างอิงในภาษา C++


ตัวแปรอ้างอิงคือนามแฝง นั่นคือชื่ออื่นสำหรับตัวแปรที่มีอยู่แล้ว เมื่อการอ้างอิงเริ่มต้นด้วยตัวแปรแล้ว อาจใช้ชื่อตัวแปรหรือชื่ออ้างอิงเพื่ออ้างถึงตัวแปรได้

ข้อมูลอ้างอิงเทียบกับตัวชี้

การอ้างอิงมักจะสับสนกับพอยน์เตอร์ แต่ความแตกต่างที่สำคัญสามประการระหว่างการอ้างอิงและพอยน์เตอร์คือ -

  • คุณไม่สามารถมีการอ้างอิง NULL คุณต้องสามารถสันนิษฐานได้เสมอว่าข้อมูลอ้างอิงเชื่อมต่อกับอุปกรณ์จัดเก็บข้อมูลที่ถูกต้องตามกฎหมาย

  • เมื่อการอ้างอิงเริ่มต้นกับอ็อบเจ็กต์แล้ว จะไม่สามารถเปลี่ยนแปลงการอ้างอิงไปยังอ็อบเจ็กต์อื่นได้ สามารถชี้ตัวชี้ไปที่วัตถุอื่นได้ตลอดเวลา

  • การอ้างอิงจะต้องเริ่มต้นเมื่อมีการสร้าง สามารถเริ่มต้นตัวชี้ได้ตลอดเวลา

การสร้างข้อมูลอ้างอิงใน C++

คิดว่าชื่อตัวแปรเป็นป้ายกำกับที่แนบกับตำแหน่งของตัวแปรในหน่วยความจำ จากนั้นคุณสามารถนึกถึงข้อมูลอ้างอิงเป็นป้ายกำกับที่สองที่แนบมากับตำแหน่งหน่วยความจำนั้น ดังนั้น คุณจึงสามารถเข้าถึงเนื้อหาของตัวแปรได้โดยใช้ชื่อตัวแปรดั้งเดิมหรือข้อมูลอ้างอิง ตัวอย่างเช่น สมมติว่าเรามีตัวอย่างต่อไปนี้ −

int i = 17;

เราสามารถประกาศตัวแปรอ้างอิงสำหรับ i ได้ดังนี้

int& r = i;

อ่าน &ในการประกาศเหล่านี้เป็นข้อมูลอ้างอิง ดังนั้น อ่านการประกาศครั้งแรกว่า "r คือการอ้างอิงจำนวนเต็มเริ่มต้นที่ i" และอ่านการประกาศครั้งที่สองเนื่องจาก "s เป็นการอ้างอิงสองครั้งที่เริ่มต้นเป็น d"

โค้ดตัวอย่าง

#include <iostream>
using namespace std;

int main () {
   // declare simple variables
   int i;
   double d;

   // declare reference variables
   int& r = i;
   double& s = d;

   i = 5;
   cout << "Value of i : " << i << endl;
   cout << "Value of i reference : " << r << endl;

   d = 11.7;
   cout << "Value of d : " << d << endl;
   cout << "Value of d reference : " << s << endl;

   return 0;
}

ผลลัพธ์

Value of i : 5
Value of i reference : 5
Value of d : 11.7
Value of d reference : 11.7