CodeBlanks Logo Icon CodeBlanks

const referans

const referans ile güvenli ve verimli geçiş öğrenirsin.

const referans

Bir parametrenin değiştirilmesini istemiyorsan const referans kullanırsın: void printValue(const int& n). Bu, n'in salt okunur olduğu ve kopyalanmadığı anlamına gelir.

const referans hem güvenli hem verimlidir. Güvenlidir çünkü fonksiyon yanlışlıkla çağıranın değişkenini değiştiremez. Verimlidir çünkü büyük nesneler kopyalanmaz. Bu yüzden std::string veya std::vector gibi türleri fonksiyona geçirirken const T& tercih edilir.

Neden const referans?

Bir fonksiyona büyük bir nesne geçirirken değerle geçiş yapmak pahalıdır; çünkü nesnenin tamamı kopyalanır. Referansla geçiş kopyayı önler ama fonksiyonun nesneyi değiştirebilmesine izin verir.

İkisinin de avantajını almak için const referans kullanırsın: kopya yok, değişiklik de yok. Bu, C++'ta büyük nesneleri fonksiyona geçirmenin standart yoludur. Örneğin void print(const std::string& s).

Uygulama printValue fonksiyonu

void printValue(const int& n) fonksiyonunu tanımla; gövdede n'yi std::cout ile yazdır. main içinde int x = 7; tanımla, printValue(x) çağır.

Başlangıç kodu

main.cpp
#include <iostream>

// printValue fonksiyonunu tanımla

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

Örnek çözüm

main.cpp
#include <iostream>

void printValue(const int& n) {
    std::cout << n << "\n";
}

int main() {
    int x = 7;
    printValue(x);
    return 0;
}

Beklenen çıktı

7

Soru ve cevaplar

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

1 const referans parametresi

Soru
void printValue(____ int& n) { std::cout << n; }
Cevap
void printValue(const int& n) { std::cout << n; }

Açıklama: const int& n salt okunur referans parametresidir.

2 Hangisi const referans tanımıdır?

  • const int p;
  • int const p = x;
  • const int& r = x; Doğru cevap
  • int& const r = x;

Açıklama: const int& r = x; salt okunur referans tanımlar.

3 İfadeyi anlamına eşle

Kavram Anlamı
const int& n Const referans
printValue(x) Çağrı
void Değer döndürmez
n Salt okunur

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