Rumah >pembangunan bahagian belakang >C++ >Mengapa Mengembalikan Rujukan daripada Operator Tugasan Salin dalam C ?
Operator Tugasan Salin: Mengapa Rujukan sebagai Jenis Pemulangan?
Memulangkan rujukan atau rujukan const daripada operator tugasan salinan adalah konsep asas dalam C . Amalan ini memastikan tugasan objek yang cekap dan mengelakkan penyalinan yang tidak perlu. Tidak seperti mengembalikan salinan, mengembalikan rujukan membenarkan kerja yang minimum dengan menyalin terus nilai antara objek.
Pertimbangkan coretan kod berikut:
A a1(param); A a2 = a1; A a3; a3 = a2; // Assignment operator
Dengan operator= ditakrifkan sebagai:
A A::operator=(const A& a) { if (this == &a) return *this; param = a.param; return *this; }
Memulangkan rujukan menghapuskan overhed memanggil pembina dan pemusnah untuk setiap tugasan. Sebaliknya, ia hanya mengemas kini nilai dalam ingatan.
Sebaliknya, mengembalikan salinan memerlukan penciptaan objek baharu, menyalin nilai daripada objek yang ditetapkan dan memusnahkan salinan sementara selepas setiap tugasan. Overhed terbuang ini menjadi ketara terutamanya dalam tugasan yang kompleks seperti rantai a = b = c.
Dengan mengembalikan rujukan, pengendali tugasan salinan:
Atas ialah kandungan terperinci Mengapa Mengembalikan Rujukan daripada Operator Tugasan Salin dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!