🚀 Online Kendi Sınavını Oluştur ve Çöz!
avatar
Lgs_Kaplani
5 puan • 568 soru • 553 cevap
✔️ Cevaplandı • Doğrulandı

referans fonksiyonu örnekleri

Referans fonksiyonu ne demek tam olarak anlamadım. Nerelerde kullanıldığını ve nasıl çizildiğini bilmiyorum, örneklerle daha iyi anlarım sanırım.
WhatsApp'ta Paylaş
1 CEVAPLARI GÖR
✔️ Doğrulandı
0 kişi beğendi.
avatar
Bos_Kagit
0 puan • 529 soru • 542 cevap

🎨 Referans Fonksiyonu Örnekleri

Referans fonksiyonları, bir değişkene doğrudan erişim sağlayarak o değişkenin değerini değiştirmemize olanak tanır. Bu, özellikle büyük veri yapılarıyla çalışırken veya bir fonksiyonun birden fazla değeri değiştirmesi gerektiğinde oldukça kullanışlıdır. İşte referans fonksiyonlarının bazı örnekleri:

💡 Basit Değer Değişimi

Bu örnekte, bir sayının değerini referans yoluyla değiştiren basit bir fonksiyon göreceğiz.

  • 🔑 Fonksiyon Tanımı:
    
            void degistir(int &x) {
                x = x * 2;
            }
        
  • 🍎 Kullanım:
    
            int sayi = 5;
            degistir(sayi); // sayi'nin değeri artık 10
        
  • 📌 Açıklama: & işareti, x'in sayi değişkenine referans olduğunu belirtir. Bu nedenle, degistir fonksiyonu içindeki değişiklikler doğrudan sayi değişkenini etkiler.

🧮 Diziyi Değiştirme

Referanslar, dizileri değiştirmek için de kullanılabilir. Aşağıdaki örnek, bir dizinin elemanlarını ikiye katlar:

  • 🔑 Fonksiyon Tanımı:
    
            void diziDegistir(int &dizi[], int boyut) {
                for (int i = 0; i < boyut; i++) {
                    dizi[i] = dizi[i] * 2;
                }
            }
        
  • 🍎 Kullanım:
    
            int sayilar[] = {1, 2, 3, 4, 5};
            int boyut = sizeof(sayilar) / sizeof(sayilar[0]);
            diziDegistir(sayilar, boyut); // sayilar dizisinin elemanları artık {2, 4, 6, 8, 10}
        
  • 📌 Açıklama: Dizinin kendisi referans olarak geçirilmemesine rağmen, dizinin elemanlarına yapılan değişiklikler kalıcıdır.

🔄 Takas İşlemi

İki değişkenin değerini takas etmek, referans fonksiyonlarının klasik bir kullanım örneğidir.

  • 🔑 Fonksiyon Tanımı:
    
            void takas(int &a, int &b) {
                int temp = a;
                a = b;
                b = temp;
            }
        
  • 🍎 Kullanım:
    
            int x = 10, y = 20;
            takas(x, y); // x'in değeri artık 20, y'nin değeri artık 10
        
  • 📌 Açıklama: a ve b değişkenleri referans olarak geçirildiği için, fonksiyon içindeki takas işlemi orijinal değişkenlerin değerlerini değiştirir.

📚 Yapıları Değiştirme

Referanslar, karmaşık veri yapılarını (struct) değiştirmek için de kullanılabilir.

  • 🔑 Fonksiyon Tanımı:
    
            struct Ogrenci {
                string ad;
                int yas;
            };
    
            void yasArttir(Ogrenci &ogr) {
                ogr.yas++;
            }
        
  • 🍎 Kullanım:
    
            Ogrenci ogr1 = {"Ayşe", 20};
            yasArttir(ogr1); // ogr1.yas artık 21
        
  • 📌 Açıklama: ogr değişkeni referans olarak geçirildiği için, yasArttir fonksiyonu içindeki değişiklikler doğrudan ogr1 yapısını etkiler.

Referans fonksiyonları, C++'da verimliliği ve okunabilirliği artırmanın güçlü bir yoludur. Ancak, referansların dikkatli kullanılması önemlidir, çünkü beklenmedik değişikliklere yol açabilirler.

Yorumlar