Bagaimana mengimplementasikan Call by Reference di C ++



Artikel ini akan memberi Anda pengetahuan lengkap tentang Call by Reference di C ++ dengan Implementasi dan perbedaannya dari Call by Value.

Bekerja dengan C ++ bukanlah tugas yang sulit jika Anda sudah memiliki latar belakang C karena keduanya berbagi banyak konsep satu sama lain. Namun, C ++ memiliki beberapa konsep yang bukan merupakan bagian dari paradigma C. Dalam artikel Call by Reference di C ++ ini, kita akan membahas salah satu konsep tersebut yaitu variabel referensi dan aplikasinya dengan urutan sebagai berikut:

Variabel Referensi

C ++ memberi kita jenis variabel baru yaitu variabel referensi. Kita dapat menganggap variabel referensi sebagai nama panggilan untuk variabel asli kita. Itulah fungsi yang tepat dari variabel referensi dalam satu baris.





Misalnya, jika nama Anda Harrison tetapi di rumah, anggota keluarga Anda memanggil Anda Harry. Sekarang mari kita bahas beberapa detail variabel referensi. Deklarasi dan penggunaan variabel jenis ini berbeda dari variabel biasa yang kita gunakan tetapi sangat mirip dengan variabel pointer.

Sintaksis:



int Halo = 1 int * ptr int & Dunia = Halo

Saat kita membuat variabel 'Halo' yang berisi nilai '1', segmen memori digunakan untuk menggunakan nilai '1', nama segmen ini akan menjadi 'Halo' dan alamat segmen ini akan menjadi nilai hex misalnya0x64. saat kita menulisint& Dunia = HaloVariabel 'Dunia' dibuat yang mengarah ke lokasi memori yang sama.

Memasukkan baris World ++ akan membuat perubahan pada alamat 0x64 ini berarti nilai variabel 'Hello' juga akan berubah. Beberapa orang mungkin menunjukkan bagaimana itu variabel referensi berbeda dari variabel penunjuk yang akan kita bahas di bagian akhir posting ini.

Call by Value dan Call by Reference di C ++

Call by Value: Call by Value adalah metode yang banyak digunakan. Sering kali Anda akan menggunakan pendekatan panggilan menurut nilai karena Anda tidak ingin nilai asli variabel Anda berubah. Oleh karena itu kami menggunakan metode panggilan dengan nilai untuk memanggil fungsi, hanya nilai variabel yang dilewatkan. Ini dicapai dengan membuat variabel dummy dalam memori.



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

Dari gambar di atas, kita dapat melihat bahwa segera setelah kita memanggil fungsi add () nilai variabel x dan y disalin ke variabel a dan b. A dan b adalah variabel dummy.

Panggilan dengan Referensi: Sekarang, mari kita bicara tentang panggilan dengan metode referensi. Dalam metode ini, variabel dummy terpisah tidak dibuat, referensi variabel yang sudah ada diteruskan ke metode. Referensi ini menunjuk ke lokasi memori yang sama sehingga salinan terpisah tidak dibuat di dalam memori. Hal penting yang perlu diperhatikan di sini adalah bahwa perubahan yang dibuat dalam variabel referensi tercermin dalam variabel dummy.

#include 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) {if (a 

Seperti yang bisa kita lihat bahwa fungsi di atas terlihat berbeda dibandingkan dengan fungsi normal karena tipe kembaliannya adalah 'int &'. Fungsi ini mengembalikan referensi ke a atau b tergantung pada kondisinya. Hal penting yang perlu diperhatikan di sini adalah nilaitidak dikembalikan.

Jika kita memanggil fungsi min (x, y) = 10. 10 akan ditetapkan ke x jika minimum atau ke y jika y minimum.

Panggilan dengan Reference Vs Pointer

Dalam semua contoh kami, kami melihat kami selalu memberikan nilai ke variabel referensi yang kami buat karena variabel referensi tidak boleh NULL sedangkan variabel penunjuk bisa NULL dan dapat menyebabkan kesalahan tak terduga.

Variabel referensi tidak dapat ditetapkan kembali sementara variabel penunjuk dapat menunjuk ke variabel lain nanti dalam program.

Variabel penunjuk menyimpan nilai alamat dari variabel tertentu sedangkan alamat variabel referensi sama dengan variabel yang dirujuknya.

Dengan ini, kita sampai pada akhir artikel Panggilan Dengan Referensi di C ++ ini. Saya harap Anda mendapatkan pemahaman tentang berbagai implementasi panggilan dengan Nilai dan referensi dan bagaimana keduanya berbeda.

c ++ stl sort

Jika Anda ingin mempelajari lebih lanjut, lihat oleh Edureka, perusahaan pembelajaran online terpercaya. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk melatih Anda baik konsep inti dan lanjutan Java bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar blog ini dan kami akan menghubungi Anda kembali secepatnya.