เมื่อเราผ่านตัวชี้เป็นพารามิเตอร์ไปยังวิธีการเราผ่านสำเนาของตัวชี้ไปยังวิธีการหรือเราสามารถพูดได้ว่าการผ่านตัวชี้เป็นค่าที่ผ่านของตัวชี้
คำอธิบายโดยละเอียดเกี่ยวกับความแตกต่างระหว่างการอ้างอิงและตัวชี้ใน C ++
มีการแนะนำการอ้างอิงจาก C ++ และไม่มีอยู่ใน C เพื่อที่จะเข้าใจแนวคิดของการอ้างอิงคุณต้องเข้าใจคำจำกัดความของตัวแปรและความแตกต่างระหว่างการอ้างอิงและตัวแปรก่อน
การอ้างอิงไม่ใช่ตัวแปรมันเป็นเพียงนามแฝงสำหรับตัวแปรและไม่มีพื้นที่อิสระเท่านั้น กล่าวอีกนัยหนึ่งการอ้างอิงจำเป็นต้องใช้พื้นที่หน่วยความจำเดียวกันกับตัวแปรที่อ้างอิงและการเปลี่ยนแปลงการอ้างอิงเป็นการปรับเปลี่ยนตัวแปรอ้างอิง และการอ้างอิงจะต้องเริ่มต้นเมื่อกำหนด
ประเภทของพารามิเตอร์ที่ผ่านและจุดที่เกี่ยวข้อง:
1 ผ่านโดยค่า: ค่าของพารามิเตอร์ที่เป็นทางการไม่สามารถแก้ไขได้
2 การอ้างอิงผ่าน: ไม่จำเป็นต้องจัดสรรพื้นที่เมื่อพารามิเตอร์จริงเริ่มต้น
3 ตัวชี้ผ่าน: ในสาระสำคัญมันยังคงผ่านไปตามค่า หากคุณต้องการแก้ไขที่อยู่ของตัวชี้เพียงแค่ผ่านด้วยตัวชี้เป็นไปไม่ได้
ต่อไปนี้เป็นเนื้อหาที่เกี่ยวข้องที่ยกมา:
1 แนวคิดอ้าง
2 คำพูด const
3 การอ้างอิงผ่านเป็นพารามิเตอร์
4 การอ้างอิงเป็นค่าคืนฟังก์ชัน
5. ความแตกต่างระหว่างการอ้างอิงและตัวชี้
1 แนวคิดอ้าง
เพียงเก็บประเด็นสำคัญต่อไปนี้ไว้ในใจ:
(1) การอ้างอิงเป็นนามแฝงสำหรับตัวแปรและไม่มีพื้นที่อิสระ
(2) การอ้างอิงจะต้องแบ่งปันกับตัวแปรที่อ้างอิง
(3) การเปลี่ยนแปลงการอ้างอิงเป็นการเปลี่ยนแปลงตัวแปรที่อ้างอิงจริง
(4) การอ้างอิงจะต้องเริ่มต้นเมื่อกำหนด
(5) เมื่อมีการเริ่มต้นการอ้างอิงตัวแปรอื่น ๆ ไม่สามารถท่องได้
ดูตัวอย่างต่อไปนี้:
int (void) {int val = 100; l; int val2 = 500; // เพียงแค่หมายถึงการกำหนด val2 ให้กับ refval นั่นคือวาล2 คำพูด const
ประเด็นสำคัญของการเสนอราคา const มีดังนี้:
(1) ตามชื่อหมายถึงการอ้างอิง const คือการอ้างอิงถึงวัตถุ const
(2) การอ้างอิง const สามารถอ้างถึงวัตถุที่ไม่ใช่ const แต่การอ้างอิงที่ไม่ใช่การประชุมไม่สามารถอ้างถึงวัตถุ const ได้ ดูตัวอย่างฟังก์ชั่นต่อไปนี้
int a = 200;
(3) ค่าวัตถุที่อ้างอิงโดย const เป็นค่าคงที่และไม่สามารถแก้ไขได้
const a = 200;
(4) การอ้างอิง const สามารถอ้างถึงตัวแปรประเภทต่าง ๆ แต่จะสร้างตัวแปรชั่วคราว ดังนี้:
Double A = 3.14; // const int & ref = tmp; การอ้างอิงเป็นตัวแปรชั่วคราวจริง
3 การอ้างอิงผ่านเป็นพารามิเตอร์
การผ่านการอ้างอิงเป็นพารามิเตอร์เป็นหนึ่งในพารามิเตอร์ ไม่จำเป็นต้องจัดสรรพื้นที่หน่วยความจำเมื่อเริ่มต้นพารามิเตอร์จริง
เป็นโมฆะ (int & a, int & b) {int tmp = a;4 การอ้างอิงเป็นค่าคืนฟังก์ชัน
รายการแรกตัวอย่างดังนี้:
int a [] = {1,2,3,4,5,6,7,8,8,9,0};นี่เป็นฟังก์ชั่นการอ้างอิงอีกอย่างหนึ่งซึ่งสามารถวางฟังก์ชั่นทางด้านซ้ายของตัวดำเนินการที่ได้รับมอบหมาย ฟังก์ชั่นดัชนีส่งคืนการอ้างอิงของ []
5. ความแตกต่างระหว่างการอ้างอิงและตัวชี้
(1) การอ้างอิงการเข้าถึงคือการเข้าถึงโดยตรงและตัวชี้การเข้าถึงเป็นการเข้าถึงทางอ้อม
(2) การอ้างอิงเป็นนามแฝงสำหรับตัวแปร
(3) เมื่อมีการเริ่มต้นการอ้างอิงจะไม่มีการอ้างอิงตัวแปรอื่น ๆ แต่ตัวชี้สามารถทำได้
(4) ใช้การอ้างอิงให้มากที่สุดและใช้พอยน์เตอร์เมื่อใดก็ตามที่คุณต้องทำ
ขอบคุณสำหรับการอ่านและอธิบายความแตกต่างระหว่างการอ้างอิงและพอยน์เตอร์ในรายละเอียด C ++