0Pricing
C++ Academy · Ders

Değişkenler İçin Referanslar ve Takma Adlar

Referansları, yeniden bağlanamayan veya NULL olamayan derleme zamanı takma adları olarak tanıtın

Değişkenler İçin Referanslar ve Takma Adlar, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C++ Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C++ Academy kursu toplamda 4 dersten oluşur.

Başvuru Nedir

Başvuru, başka bir değişken için derleme zamanında oluşturulan bir takma addır. İşaretçi değildir ve kopya değildir; aynı nesnenin farklı bir adıdır.

Başvuru Sözdizimi

Türün ardından & kullanın. Başvurular bildirim sırasında başlatılmalı ve yeniden bağlanamamalıdır.

int x = 10;
int& ref = x;     // ref is an alias for x
ref = 20;         // x is now 20

İşaretçilerle Karşılaştırma

Başvurular ve işaretçiler, dolaylı erişim sağlar; ancak:

  • Başvurular başlatılmalıdır; işaretçiler null olabilir
  • Başvurular farklı bir nesneye yeniden atanamaz
  • Başvurularda hiçbir zaman * veya -> kullanılmaz; normal değişkenler gibi görünürler

Yeniden Bağlanamama

Bir başvuru bağlandıktan sonra her zaman aynı nesneye başvurur. Başvuruya atama yapmak, başvurunun kendisini değil, temel değeri değiştirir.

int a = 1, b = 2;
int& r = a;
r = b;       // a becomes 2, r still refers to a

Başvurular Aynı Adrese Sahiptir

Başvuru, özgün değişkenmiş gibi davranır. Adresi alındığında başvurulan nesnenin adresi elde edilir.

int x = 42;
int& r = x;
std::cout << (&r == &x);   // 1 (true)

Const Başvuruları

const başvuru, salt okunur bir takma addır. Büyük nesneleri kopyalamadan geçirmek için kullanışlıdır.

void print(const std::string& s) {
    std::cout << s;  // can read, not modify
}

Const Başvuruları Geçicilere Bağlama

Const başvuru, geçici nesnenin ömrünü başvurunun kendi ömrü kadar uzatır; bu, ifadelerde kullanışlıdır.

const std::string& greeting = std::string("Hi");
std::cout << greeting;  // valid

Dönüş Türü Olarak Başvurular

İşlevler başvuru döndürebilir; bu, zincirleme işlemler veya bir üyeye doğrudan erişim sağlamak için kullanışlıdır. Ancak yerel bir değişkene başvuru döndürmemeye dikkat edin!

int& at(std::vector<int>& v, size_t i) {
    return v[i];
}

at(v, 0) = 99;   // modifies v[0]

Yerel Bir Değişkene Başvuru Döndürmeyin

Yerel değişken, işlev döndüğünde yok olur; başvuru geçersiz hâle gelir. Bu, tanımsız davranıştır.

// BUG
int& bad() {
    int x = 10;
    return x;  // x dies here
}

Aralık Tabanlı for Döngülerinde Başvurular

Aralık tabanlı for döngüsü, başvuruları örtük olarak kullanır. auto& bir başvuru alır; auto ise bir kopya alır.

Yapılandırılmış Bağlamalarda Başvurular

C++17 yapılandırılmış bağlamaları değere göre, başvuruya göre veya const başvuruya göre bağlayabilir.

std::pair<int, int> p = {1, 2};
auto [a, b] = p;            // copies
auto& [x, y] = p;           // references — modifying x changes p.first

Hızlı Kontrol

Bir başvuru neden daha sonra başka bir değişkene yeniden bağlanamaz?

Özet

Başvuru, başlatılması gereken ve yeniden bağlanamayan bir derleme zamanı takma adıdır. Normal bir değişken gibi görünür; hiçbir zaman null olmaz ve yeniden atanamaz. Salt okunur görünümler için const başvuruları kullanın.

Sıkça Sorulan Sorular

“Değişkenler İçin Referanslar ve Takma Adlar” dersi ücretsiz mi?

Evet — “Değişkenler İçin Referanslar ve Takma Adlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C++ Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C++ Academy kursu toplamda 4 dersten oluşur.

“Değişkenler İçin Referanslar ve Takma Adlar” dersinde ne öğreneceğim?

Referansları, yeniden bağlanamayan veya NULL olamayan derleme zamanı takma adları olarak tanıtın C++ Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

C++ Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te C++ Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Değişkenler İçin Referanslar ve Takma Adlar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu C++ Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her C++ Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Değişkenler İçin Referanslar ve Takma Adlar
  2. Değerle Geçirme ve Referansla Geçirme
  3. const Referansları ve Ne Zaman Kullanılacakları
  4. Referansların Yaşam Süresi ve Geçersiz Referanslar
← C++ Academy Sayfasına Dön