Cara Melaksanakan Panggilan Melalui Rujukan di C ++



Artikel ini akan memberi anda pengetahuan tentang Call by Reference di C ++ dengan Implementasi dan bagaimana ia berbeza dengan Call by Value.

Bekerja dengan C ++ bukanlah tugas yang sukar jika anda sudah mempunyai latar belakang di C kerana kedua-duanya saling berkongsi konsep antara satu sama lain. Tetapi, C ++ mempunyai beberapa konsep yang bukan merupakan sebahagian daripada paradigma C. Dalam artikel Call by Reference dalam C ++ ini, kita akan membincangkan satu konsep seperti pemboleh ubah rujukan dan aplikasinya dalam urutan berikut:

lulus dengan nilai vs lulus dengan java rujukan

Pemboleh ubah Rujukan

C ++ memberi kita jenis pemboleh ubah baru iaitu pemboleh ubah rujukan. Kita boleh memikirkan pemboleh ubah rujukan sebagai nama panggilan untuk pemboleh ubah asal kita. Itulah fungsi tepat pemboleh ubah rujukan dalam satu baris.





Contohnya, jika nama anda Harrison tetapi di rumah, ahli keluarga anda memanggil anda Harry. Sekarang mari kita perhatikan beberapa butiran pemboleh ubah rujukan. Pengisytiharan dan penggunaan pemboleh ubah jenis ini berbeza dengan pemboleh ubah biasa yang kita gunakan tetapi sangat serupa dengan pemboleh ubah penunjuk.

Sintaks:



int Hello = 1 int * ptr int & Dunia = Helo

Apabila kita membuat pemboleh ubah ‘Hello’ yang mengandungi nilai ‘1’, segmen memori digunakan untuk meredakan nilai ‘1’ nama segmen ini akan menjadi ‘Hello’ dan alamat segmen ini akan menjadi beberapa nilai hex misalnya0x64. semasa kita menulisint& Dunia = HeloPemboleh ubah ‘World’ dibuat yang menunjuk ke lokasi memori yang sama.

Termasuk garis World ++ akan membuat perubahan pada alamat 0x64 ini bermaksud nilai pemboleh ubah ‘Hello’ juga akan berubah. Sebilangan mungkin menunjukkan bahawa bagaimana keadaannya pemboleh ubah rujukan berbeza dengan pemboleh ubah penunjuk yang akan kita bincangkan di bahagian akhir catatan ini.

Panggilan mengikut Nilai dan Panggilan dengan Rujukan di C ++

Panggilan mengikut Nilai: Call by Value adalah kaedah yang banyak digunakan. Sebilangan besar masa anda akan menggunakan pendekatan panggilan demi nilai kerana anda tidak mahu nilai asal pemboleh ubah anda diubah. Oleh itu, kami menggunakan kaedah panggilan dengan nilai untuk memanggil fungsi, hanya nilai pemboleh ubah yang dilalui. Ini dicapai dengan membuat pemboleh ubah dummy dalam ingatan.



#sertakan dengan menggunakan namespace std void add (int a, int b) {a = a + 10 b = b + 10 cout<<'Value of a = '<  Panggilan mengikut Nilai dalam C ++

Dari gambar di atas, kita dapat melihat bahawa begitu kita memanggil fungsi tambah () nilai pemboleh ubah x dan y disalin ke pemboleh ubah a dan b. A dan b adalah pemboleh ubah dummy.

Panggilan melalui Rujukan: Sekarang, mari kita bercakap mengenai kaedah panggilan dengan kaedah rujukan. Dalam kaedah ini pembolehubah dummy terpisah tidak dibuat, rujukan pemboleh ubah yang sudah ada diteruskan ke kaedah tersebut. Rujukan ini menunjukkan lokasi memori yang sama, oleh itu salinan berasingan tidak dibuat dalam memori. Perkara penting yang perlu diperhatikan di sini adalah bahawa perubahan yang dibuat dalam pemboleh ubah rujukan dicerminkan dalam pemboleh ubah dummy.

#sertakan dengan menggunakan namespace std void add (int & a, int & b) {a = a + 10 b = b + 10 cout<<'Value of a = '< int & min (int & a, int & b) {sekiranya (a 

Seperti yang kita lihat bahawa fungsi di atas kelihatan berbeza berbanding dengan fungsi biasa kerana jenis pengembaliannya adalah 'int &'. Fungsi ini mengembalikan rujukan ke a atau b bergantung pada keadaan. Perkara penting yang perlu diberi perhatian di sini ialah nilaitidak dikembalikan.

Sekiranya kita memanggil fungsi min (x, y) = 10. 10 akan diberikan kepada x jika minimum atau y jika y minimum.

Panggilan melalui Rujukan Vs Pointer

Dalam semua contoh, kami melihat bahawa kami selalu memberikan nilai pada pemboleh ubah rujukan yang kami buat kerana pemboleh ubah rujukan tidak boleh NULL sementara pemboleh ubah penunjuk boleh menjadi NULL dan boleh menyebabkan kesalahan yang tidak dijangka.

Pemboleh ubah rujukan tidak dapat ditugaskan semula sementara pemboleh ubah penunjuk dapat menunjukkan beberapa pemboleh ubah lain di kemudian hari dalam program.

Pemboleh ubah penunjuk menyimpan nilai alamat pemboleh ubah tertentu sementara alamat pemboleh ubah rujukan sama dengan pemboleh ubah yang dimaksudkannya.

Dengan ini, kami mengakhiri artikel Panggilan Melalui Rujukan ini dalam C ++. Saya harap anda dapat memahami pelbagai pelaksanaan panggilan berdasarkan Nilai dan rujukan dan bagaimana keduanya berbeza.

Sekiranya anda ingin mengetahui lebih lanjut, lihat di oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka dirancang untuk melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Ada soalan untuk kami? Sila sebutkan di bahagian komen blog ini dan kami akan menghubungi anda secepat mungkin.