C++ Academy · Ders

İşaretçiler Ne Zaman, Referanslar Ne Zaman Kullanılmalı

İsteğe bağlı olma ve sahiplik anlamlarına göre işaretçiler ile referanslar arasından seçim yapın

4. ders / 413 adım

İşaretçiler Ne Zaman, Referanslar Ne Zaman Kullanılmalı, CoddyKit'te ücretsiz bir C++ Academy dersidir. Bu, 4 dersinin 4. 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.

Farklı İşler İçin Farklı Araçlar

Referanslar ve işaretçiler başka bir nesneye dolaylı erişmenizi sağlar — ancak anlamları farklıdır. Her birini güçlü olduğu yerde kullanın.

Zorunlu Hedefler İçin Referanslar

Bir referans boş olamaz ve başka bir nesneye yeniden bağlanamaz. İşlevin her zaman gerçek bir nesneye ihtiyaç duyduğu durumlarda referans parametresi kullanın.

void render(const Image& img);   // must have an image

İsteğe Bağlı Hedefler İçin İşaretçiler

Bir işaretçi boş olabilir. Bir bağımsız değişken gerçekten isteğe bağlı olduğunda işaretçi kullanın.

void render(const Image* img);   // nullptr means "skip"

Yeniden Atama Gerektiğinde İşaretçiler

İşaretçiler farklı nesnelere yönlendirilebilir. Dolaylı erişimin algoritma sırasında değiştiği durumlarda — hareket eden bir imleç veya geçerli bir düğüm gibi — işaretçi kullanın.

Node* current = head;
while (current) {
    process(current);
    current = current->next;
}

Referans Kapsayıcıları?

std::vector<T&> kullanamazsınız. Bunun yerine std::vector<std::reference_wrapper<T>> kullanın veya işaretçileri saklayın.

Referans Döndürme

Sonuç çağrı sona erdikten sonra da geçerliliğini koruyorsa ve çağıran kod onu doğrudan kullanabiliyorsa referans döndürün (üyeler, kapsayıcı öğeleri).

std::string& Person::name() { return name_; }

İşaretçi Döndürme

İşlev "sonuç yok" döndürebiliyorsa veya sahiplik belirsizse işaretçi döndürün. Modern kodda std::optional veya akıllı işaretçileri tercih edin.

Sınıf Üyeleri

Bir referansı üye olarak saklamak, başvurulan nesneyi nesnenin yaşam süresi boyunca sabitler — ve kopya atamasını engeller. İşaretçi üyeleri daha esnektir ancak boş işaretçi denetimleri gerektirir.

Çok Biçimlilik

Çok biçimlilik için hem işaretçiler hem de referanslar kullanılabilir. Temel sınıf işaretçilerini kapsayıcılarda saklayın (vektörler referans tutamaz); boş değerin geçersiz olduğu parametrelerde referans kullanın.

Sahiplik İçin Ham İşaretçilerden Kaçının

Ham işaretçileri yalnızca sahiplik taşımayan dolaylı erişim için kullanın. Sahiplik std::unique_ptr veya std::shared_ptr'a ait olmalıdır.

Karar Özeti

Kısa kılavuz:

  • Her zaman geçerli bir nesne → referans
  • Yok olabilir → işaretçi veya std::optional
  • Değişen dolaylı erişim → işaretçi
  • Belleğin sahibi → akıllı işaretçi
  • Bir kapsayıcıda → işaretçi (referans vektörleri kullanışsızdır)

Hızlı Kontrol

Boş olmayan bir nesne gerektiren bir işlev için en iyi parametre türü hangisidir?

Özet

Zorunlu ve sabit hedefler için referansları; isteğe bağlı veya değişen hedefler için işaretçileri kullanın. Sahiplik için akıllı işaretçileri tercih edin. Kapsayıcılar genellikle referanslara değil, işaretçilere ihtiyaç duyar.

Başlamak ücretsiz

Yapay zeka eğitmeniyle C++ öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
51
Dersler
203

Sıkça Sorulan Sorular

“İşaretçiler Ne Zaman, Referanslar Ne Zaman Kullanılmalı” dersi ücretsiz mi?

Evet — “İşaretçiler Ne Zaman, Referanslar Ne Zaman Kullanılmalı” 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.

“İşaretçiler Ne Zaman, Referanslar Ne Zaman Kullanılmalı” dersinde ne öğreneceğim?

İsteğe bağlı olma ve sahiplik anlamlarına göre işaretçiler ile referanslar arasından seçim yapı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 4. dersidir.

“İşaretçiler Ne Zaman, Referanslar Ne Zaman Kullanılmalı” 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. Ham İşaretçiler ve Adres Operatörü
  2. İşaretçi Gösterme ve İşaretçi Aritmetiği
  3. nullptr ve Boş İşaretçi Güvenliği
  4. İşaretçiler Ne Zaman, Referanslar Ne Zaman Kullanılmalı
← C++ Academy Sayfasına Dön