1.19 References

C++'da referans, bir değişkenin başka bir değişkenle olan ilişkisidir. Referanslar, bir değişkenin bellekteki adresine işaret eden alternatif isimler olarak düşünülebilir. Bu, belirli bir değişkenin bellekteki yerini değiştirmeden, o değişken üzerinde işlem yapmanıza olanak tanır.

Referans Oluşturma

Bir referans oluşturmak için, değişkenin tipinin ardından & işaretini kullanarak referansı tanımlarsınız.

Örnek: Basit Referans Oluşturma

#include <iostream>
using namespace std;

int main() {
    int original = 30; // Değişken tanımı
    int &ref = original; // Referans oluşturma

    cout << "Orijinal Değişken: " << original << endl; // 30
    cout << "Referans Değişken: " << ref << endl;      // 30

    ref = 50; // Referans üzerinden değeri değiştirme

    cout << "Orijinal Değişken (değiştirildikten sonra): " << original << endl; // 50
    cout << "Referans Değişken (değiştirildikten sonra): " << ref << endl;      // 50

    return 0;
}

Yukarıdaki örnekte, ref değişkeni original değişkenine bir referans olarak tanımlanmıştır. ref üzerinden yapılan değişiklikler, original üzerinde de değişiklik yapar.

Bellek Adresi

Her değişken, bellekte bir adrese sahiptir. & operatörü kullanarak bir değişkenin bellek adresini alabilirsiniz.

Örnek: Bellek Adresini Alma

#include <iostream>
using namespace std;

int main() {
    int number = 42; // Değişken tanımı

    cout << "Değişkenin Değeri: " << number << endl;                     // 42
    cout << "Değişkenin Bellek Adresi: " << &number << endl;            // Bellek adresini yazdırma

    return 0;
}

Referansların Avantajları

  • Bellek Verimliliği: Referanslar, değişkenin değerini kopyalamak yerine doğrudan bellekteki adresine işaret eder. Bu, bellek kullanımını optimize eder.

  • Fonksiyonlarda Kullanım: Fonksiyon parametreleri olarak referanslar kullanarak, fonksiyonların doğrudan değişken üzerinde işlem yapmasını sağlayabilirsiniz.

Örnek: Fonksiyona Referans Gönderme

#include <iostream>
using namespace std;

void increment(int &num) {
    num++; // Referans üzerinden değeri artırma
}

int main() {
    int value = 10;

    cout << "Başlangıç Değeri: " << value << endl; // 10
    increment(value); // value referans olarak gönderiliyor
    cout << "Artırıldıktan Sonra: " << value << endl; // 11

    return 0;
}

Last updated