c ++ อ้างอิง
ตัวแปรอ้างอิงเป็นนามแฝงที่มีการกล่าวว่ามันเป็นชื่อที่มีอยู่แล้วในอีกตัวแปรหนึ่ง เมื่ออ้างอิงจะเริ่มต้นให้กับตัวแปรที่คุณสามารถใช้ชื่อการอ้างอิงหรือชื่อตัวแปรที่จะชี้ไปที่ตัวแปร
c ++ ชี้ VS อ้างอิง
มันง่ายที่จะสร้างความสับสนที่มีการอ้างอิงตัวชี้มีสามความแตกต่างที่สำคัญระหว่างพวกเขา
- กรณีที่ไม่มีการอ้างอิงโมฆะ อ้างอิงต้องเชื่อมต่อกับหน่วยความจำที่ถูกต้องตามกฎหมาย
- เมื่อได้มีการอ้างอิงไปยังเป้าหมายเริ่มต้นมันไม่สามารถถูกนำไปยังวัตถุอื่น ชี้สามารถชี้ได้ตลอดเวลาเพื่อวัตถุอื่น
- อ้างอิงจะต้องเริ่มต้นเมื่อมีสร้าง ชี้สามารถเริ่มต้นได้ในเวลาใดก็ได้
C ++ สร้างการอ้างอิง
ลองนึกภาพชื่อตัวแปรเป็นตัวแปรในหน่วยความจำตำแหน่งของป้ายชื่อ บริษัท ย่อยคุณสามารถอ้างอิงเป็นตัวแปรใน บริษัท ย่อยในแท็กสถานที่ตั้งของหน่วยความจำที่สอง ดังนั้นคุณสามารถเข้าถึงชื่อตัวแปรหรืออ้างอิงกับเนื้อหาที่ผ่านตัวแปรเดิม ตัวอย่างเช่น:
int i = 17;
เราสามารถอ้างถึงตัวแปรที่ฉันมีการประกาศดังต่อไปนี้:
int& r = i;
ในงบเหล่านี้และอ่านเป็นข้อมูลอ้างอิงดังนั้นคำสั่งแรกที่สามารถอ่านได้ว่า "R เป็นจำนวนเต็มฉันจะเริ่มต้นที่จะมีการอ้างอิงถึง" คำสั่งที่สองสามารถอ่านได้ว่า "s อ้างอิงเริ่มต้นได้ที่ประเภทคู่ของ d." ตัวอย่างต่อไปนี้ใช้ int และราคาคู่:
#include <iostream> using namespace std; int main () { // 声明简单的变量 int i; double d; // 声明引用变量 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
อ้างอิงมักจะใช้สำหรับรายการอาร์กิวเมนต์ฟังก์ชั่นและค่าตอบแทนการทำงาน รายการต่อไปนี้ C ++ Programmer ต้องล้างทั้งสองด้วย C ++ อ้างอิงที่เกี่ยวข้องกับแนวคิดหลัก:
概念 | 描述 |
---|---|
把引用作为参数 | C++ 支持把引用作为参数传给函数,这比传一般的参数更安全。 |
把引用作为返回值 | 可以从 C++ 函数中返回引用,就像返回其他数据类型一样。 |