อะไรคือความแตกต่างระหว่างการโทรด้วยค่าและการโทรโดยการอ้างอิงใน C ++?
ใน C ++ และ Java มีสองวิธีในการ เรียก ใช้ ฟังก์ชัน หรือวิธีการ ความ แตกต่างที่ สำคัญ ระหว่าง ทั้งสองวิธีคือ วิธีการ เรียกโดยค่า จะส่งผ่าน ค่า ของตัวแปร และการ เรียกโดยการอ้างอิง จะส่งที่อยู่ของตัวแปรนั้น วิธีการ เรียกโดยค่า จะส่งผ่านเฉพาะ ค่า ของตัวแปรไปยังโค้ด ฟังก์ชัน
ข้างบนนี้คืออะไร Call by reference พร้อมตัวอย่าง? การเรียกโดย วิธี อ้างอิงของการส่งผ่านอาร์กิวเมนต์ไปยังฟังก์ชันจะคัดลอกที่อยู่ของอาร์กิวเมนต์ลงในพารามิเตอร์ที่เป็นทางการ ภายในฟังก์ชัน ที่อยู่จะใช้เพื่อเข้าถึงอาร์กิวเมนต์จริงที่ใช้ในการโทร หมายถึงการเปลี่ยนแปลงที่ทำกับพารามิเตอร์ส่งผลต่ออาร์กิวเมนต์ที่ส่งผ่าน
นอกจากนี้ call by value และ call by reference ใน C ++ คืออะไรพร้อมตัวอย่าง?
การโทรโดยการอ้างอิง ใน C++ ในการ โทรโดยการอ้างอิง ค่า ดั้งเดิมจะถูกแก้ไขเนื่องจากเราส่ง การอ้างอิง (ที่อยู่) ในที่นี้ ที่อยู่ของ ค่า จะถูกส่งผ่านใน ฟังก์ชัน ดังนั้นอาร์กิวเมนต์ที่แท้จริงและเป็นทางการจึงใช้พื้นที่ที่อยู่เดียวกัน ดังนั้น ค่าที่ เปลี่ยนแปลงภายใน ฟังก์ชัน จึงสะท้อนให้เห็นทั้งภายในและภายนอก ฟังก์ชัน
ข้อดีของการโทรโดยการอ้างอิงคืออะไร?
ข้อดี อย่างหนึ่งของการ เรียกโดย วิธี อ้างอิง คือมันใช้พอยน์เตอร์ ดังนั้นจึงไม่มีหน่วยความจำที่ใช้โดยตัวแปรสองเท่า (เช่นเดียวกับสำเนาของการ เรียก ด้วยวิธีค่า) แน่นอนว่าสิ่งนี้ยอดเยี่ยมมาก การลดขนาดหน่วยความจำลงเป็นสิ่งที่ดีเสมอ