ทำไมต้องส่งคืนค่าอ้างอิง const c++

สารบัญ:

ทำไมต้องส่งคืนค่าอ้างอิง const c++
ทำไมต้องส่งคืนค่าอ้างอิง const c++
Anonim

คุณต้องการส่งคืนการอ้างอิง const เมื่อคุณส่งคืนคุณสมบัติของวัตถุ ที่คุณไม่ต้องการแก้ไขภายนอก ตัวอย่างเช่น เมื่อวัตถุของคุณมีชื่อ คุณสามารถสร้างเมธอด const std::string& get_name{ return name; };.

คุณควรใช้พารามิเตอร์อ้างอิง const เมื่อใด

เมื่อส่งอาร์กิวเมนต์โดยการอ้างอิง ใช้การอ้างอิง const เสมอ เว้นแต่ว่าคุณจำเป็นต้องเปลี่ยนค่าของอาร์กิวเมนต์ การอ้างอิงที่ไม่ใช่ const ไม่สามารถผูกกับค่า r ได้ ฟังก์ชันที่มีพารามิเตอร์อ้างอิงแบบ non-const จะไม่สามารถเรียกด้วยตัวอักษรหรือค่าชั่วคราวได้

คุณควรส่งคืนโดยอ้างอิงเมื่อใด

การผ่านโดยการอ้างอิงหมายถึงการส่งต่อไปยังวัตถุที่มีอยู่แล้วดังนั้น หากคุณต้องการส่งคืนการอ้างอิงในฟังก์ชัน หมายความว่า คุณต้องสร้างวัตถุนั้นในฟังก์ชัน คุณรู้ว่าฟังก์ชันสามารถสร้างวัตถุใหม่ได้สองวิธี: บน กองหรือกอง

การอ้างอิง const ทำอะไร

หากคุณใช้การอ้างอิง const คุณผ่านการอ้างอิง และข้อมูลต้นฉบับจะไม่ถูกคัดลอก ในทั้งสองกรณี ข้อมูลเดิมจะไม่สามารถแก้ไขได้จากภายในฟังก์ชัน

การส่งคืนการอ้างอิงหมายความว่าอย่างไร

มันหมายถึง คุณกลับมาโดยการอ้างอิง ซึ่งอย่างน้อยในกรณีนี้ อาจไม่ต้องการ โดยทั่วไปหมายความว่าค่าที่ส่งคืนเป็นนามแฝงของสิ่งที่คุณส่งคืนจากฟังก์ชัน เว้นแต่จะเป็นวัตถุถาวรมันผิดกฎหมาย