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 aBaş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; // validDö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.firstHı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
- Değişkenler İçin Referanslar ve Takma Adlar
- Değerle Geçirme ve Referansla Geçirme
- const Referansları ve Ne Zaman Kullanılacakları
- Referansların Yaşam Süresi ve Geçersiz Referanslar