วิธีติดตั้ง Call by Reference ใน C ++



บทความนี้จะให้ความรู้เกี่ยวกับ Call by Reference ใน C ++ พร้อมการใช้งานและความแตกต่างจาก Call by Value

การทำงานกับ C ++ ไม่ใช่เรื่องยากหากคุณมีพื้นฐานในภาษา C อยู่แล้วเนื่องจากทั้งสองคนมีแนวคิดร่วมกันมากมาย แต่ C ++ มีแนวคิดบางอย่างที่ไม่ได้เป็นส่วนหนึ่งของกระบวนทัศน์ C ในบทความ Call by Reference ใน C ++ นี้เราจะพูดถึงแนวคิดดังกล่าวที่เป็นตัวแปรอ้างอิงและแอปพลิเคชันตามลำดับต่อไปนี้:

ตัวแปรอ้างอิง

C ++ ทำให้เรามีตัวแปรประเภทใหม่นั่นคือตัวแปรอ้างอิง เราสามารถนึกถึงตัวแปรอ้างอิงเป็นชื่อเล่นสำหรับตัวแปรดั้งเดิมของเรา นั่นคือฟังก์ชันที่แน่นอนของตัวแปรอ้างอิงในบรรทัดเดียว





ตัวอย่างเช่นถ้าคุณชื่อแฮร์ริสัน แต่ที่บ้านสมาชิกในครอบครัวเรียกคุณว่าแฮร์รี่ ตอนนี้เรามาดูรายละเอียดของตัวแปรอ้างอิงกัน การประกาศและการใช้ตัวแปรประเภทนี้แตกต่างจากตัวแปรปกติที่เราใช้ แต่คล้ายกับตัวแปรพอยน์เตอร์มาก

ไวยากรณ์:



int สวัสดี = 1 int * ptr int & World = สวัสดี

เมื่อเราสร้างตัวแปร 'Hello' ที่มีค่า '1' ส่วนของหน่วยความจำจะถูกใช้เพื่อลดค่า '1' ชื่อของส่วนนี้จะเป็น 'Hello' และที่อยู่ของส่วนนี้จะเป็นค่าฐานสิบหกเช่น0x64 เมื่อเราเขียนint& โลก = สวัสดีตัวแปร 'โลก' ถูกสร้างขึ้นซึ่งชี้ไปยังตำแหน่งหน่วยความจำเดียวกัน

การรวมบรรทัด World ++ จะทำการเปลี่ยนแปลงที่อยู่ 0x64 ซึ่งหมายความว่าค่าของตัวแปร 'Hello' จะเปลี่ยนไปด้วย บางคนอาจชี้ให้เห็นว่าเป็นอย่างไร ตัวแปรอ้างอิงที่แตกต่างจากตัวแปรพอยน์เตอร์ซึ่งเราจะพูดถึงในส่วนหลังของโพสต์นี้

Call by Value และ Call by Reference ใน C ++

โทรตามค่า: Call by Value เป็นวิธีที่ใช้กันอย่างแพร่หลาย เวลาส่วนใหญ่คุณจะใช้วิธีการเรียกตามมูลค่าเนื่องจากคุณไม่ต้องการให้ค่าดั้งเดิมของตัวแปรเปลี่ยนไป ดังนั้นเราจึงใช้วิธี call by value เพื่อเรียกใช้ฟังก์ชันโดยจะส่งผ่านค่าของตัวแปรเท่านั้น สิ่งนี้ทำได้โดยการสร้างตัวแปรจำลองในหน่วยความจำ



#include โดยใช้ namespace std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  โทรตามค่าใน C ++

จากภาพด้านบนเราจะเห็นว่าทันทีที่เราเรียกใช้ฟังก์ชัน add () ค่าของตัวแปร x และ y จะถูกคัดลอกไปยังตัวแปร a และ b A และ b เป็นตัวแปรดัมมี่

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

#include โดยใช้ namespace std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {if (ก 

ดังที่เราเห็นว่าฟังก์ชันข้างต้นดูแตกต่างเมื่อเทียบกับฟังก์ชันปกติเนื่องจากประเภทการส่งคืนเป็น 'int &' ฟังก์ชันนี้ส่งคืนการอ้างอิงถึง a หรือ b ขึ้นอยู่กับเงื่อนไข ประเด็นสำคัญที่ควรทราบก็คือค่าต่างๆจะไม่ส่งคืน

ถ้าเราเรียกฟังก์ชัน min (x, y) = 10. 10 จะถูกกำหนดให้กับ x ถ้าต่ำสุดหรือ y ถ้า y เป็นค่าต่ำสุด

โทรโดย Reference Vs Pointer

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

ไม่สามารถกำหนดตัวแปรอ้างอิงใหม่ได้ในขณะที่ตัวแปรตัวชี้สามารถชี้ไปที่ตัวแปรอื่น ๆ ในโปรแกรมได้ในภายหลัง

ตัวแปรพอยน์เตอร์เก็บค่าแอดเดรสของตัวแปรเฉพาะในขณะที่แอดเดรสของตัวแปรอ้างอิงจะเหมือนกับของตัวแปรที่อ้างถึง

ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบทความ Call By Reference ใน C ++ ฉันหวังว่าคุณจะมีความเข้าใจเกี่ยวกับการใช้งาน Call by Value และการอ้างอิงที่หลากหลายและทั้งสองอย่างแตกต่างกันอย่างไร

หากคุณต้องการเรียนรู้เพิ่มเติมโปรดดูไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ หลักสูตรการฝึกอบรมและการรับรอง Java J2EE และ SOA ของ Edureka ได้รับการออกแบบมาเพื่อฝึกอบรมคุณสำหรับแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับกรอบงาน Java ต่างๆเช่น Hibernate & Spring

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