Argümanların bir işleve aktarılması için referans yöntemiyle yapılan çağrı, bir argümanın referansını resmi parametreye kopyalar. Fonksiyonun içinde referans, çağrıda kullanılan gerçek argümana erişmek için kullanılır. Bu, parametreye yapılan değişikliklerin geçirilen argümanı etkilediği anlamına gelir.
Değeri referans ile iletmek için argüman referansı, diğer herhangi bir değer gibi fonksiyonlara aktarılır. Buna göre, işlev parametrelerini, argümanlar tarafından işaret edilen iki tamsayı değişkeninin değerlerini değiştiren aşağıdaki işlev swap() ‘ında olduğu gibi referans türleri olarak bildirmeniz gerekir.
1 2 3 4 5 6 7 8 9 10 11 12 | // fonksiyon tanımlanması ve referans ile değişkenin adresinin kaydı //swap fonksiyonu ile iki değişkendeki değerleri değiştirmiş oluruz void swap(int &x, int &y) { int temp; temp = x; /* x adresi temp içine konulur */ x = y; /* y adresi x adresine konulur*/ y = temp; /* temp adresi y adresine konulur */ return; } |
Şimdilik, aşağıdaki örnekte olduğu gibi referans değerlerini geçirerek swap () işlevini çağıralım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <iostream> using namespace std; void swap(int &x, int &y); int main () { int a = 100; int b = 200; cout << "ilk durum a :" << a << endl; cout << "ilk durum b :" << b << endl; swap(a, b); cout << "sonraki durum a :" << a << endl; cout << "sonraki durum b :" << b << endl; return 0; } |
Add Comment