CodeBlanks Logo Icon CodeBlanks

Referans parametreleri

Fonksiyona referansla geçme ve değişikliğin yansımasını öğrenirsin.

Referans parametreleri

Bir fonksiyon parametresini referans olarak tanımlarsan, çağıran tarafın değişkenini doğrudan değiştirebilirsin. Yazımı: void addOne(int& n). & işareti parametrenin kopya değil referans olduğunu belirtir.

Böylece addOne(x) çağrısı x'in kendisini değiştirir; kopyasını değil. Değerle geçişte değişiklik yansımaz, referansla geçişte yansır. Büyük nesneleri kopyalamamak için de referans parametre tercih edilir.

Değerle ve referansla geçiş

Değerle geçişte parametre, argümanın kopyasıdır; fonksiyon içindeki değişiklik çağırana yansımaz. Referansla geçişte parametre, argümanın kendisine bağlı bir diğer addır; değişiklik anında yansır.

void f(int n) değerle, void f(int& n) referansla geçiştir. İkisi arasındaki tek görsel fark & işaretidir; ama davranış tamamen farklıdır. Referansla geçiş, fonksiyondan birden fazla değer döndürmek için de kullanılır.

Uygulama addOne fonksiyonu

void addOne(int& n) fonksiyonunu tanımla; gövdede n = n + 1; yaz. main içinde int x = 5; tanımla, addOne(x) çağır, x'i std::cout ile yazdır.

Başlangıç kodu

main.cpp
#include <iostream>

// addOne fonksiyonunu tanımla

int main() {
    // x değişkenini tanımla
    // addOne çağrısı ekle
    // x'i yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

void addOne(int& n) {
    n = n + 1;
}

int main() {
    int x = 5;
    addOne(x);
    std::cout << x << "\n";
    return 0;
}

Beklenen çıktı

6

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bu kod çalışınca x'in değeri ne olur?

main.cpp
void addOne(int& n) {
    n = n + 1;
}
int main() {
    int x = 5;
    addOne(x);
    std::cout << x;
    return 0;
}
  • 5
  • 6 Doğru cevap
  • 0
  • Hata verir

Açıklama: addOne(x) referansla geçtiği için x artar: 5 → 6.

2 İfadeyi anlamına eşle

Kavram Anlamı
int& n Referans parametre
addOne(x) Çağrı
n = n + 1 Gövde
x Argüman

3 Referans parametresi

Soru
void addOne(int____ n) { n = n + 1; }
Cevap
void addOne(int& n) { n = n + 1; }

Açıklama: void addOne(int& n) referansla geçiştir.

Başlangıç bölümündeki tüm dersler