İçeriğe geç
Başlangıç · Sonraki hedefe 100 XP
Son hareketler
Henüz bir öğrenme hareketi yok. İlk derse başlayın.

Programlama Temelleri

C++ namespace: İsim çakışmalarını yönetme

Namespace aynı isimlerin farklı mantıksal alanlarda kullanılmasını sağlar. Büyük projelerde bir ismin hangi bileşene ait olduğunu görmek, bağımlılıkları anlamayı kolaylaştırır.

Bu derste neler var?

SİBERSALDİRİ.COM · KONU ODAKLI DERS

Bu derste kazanacaklarınız

  • İsim alanı ile Nitelikli isim arasındaki ilişkiyi açıklamak.
  • “Namespace bir yetkilendirme mekanizması mıdır?” sorusuna gerekçeli yanıt vermek.
  • Örneği değiştirip beklenen ve gözlenen davranışı karşılaştırmak.

Çalışma mantığı ve güven sınırı

Başlıklarda bütün std isimlerini genel alana taşımayın. Nitelikli isim kullanmak, başka bir kütüphane aynı adı tanımladığında belirsizliği azaltır. Namespace erişim kontrolü veya güvenlik sınırı değildir; bir bileşenin iç ayrıntısını gerçekten gizlemek için API tasarımı ve erişim belirleyicileri de gerekir.

C++ namespace: İsim çakışmalarını yönetme akışı: İsim alanı → Nitelikli isim → Çözümleme
İsim alanı → Nitelikli isim → Çözümleme. Şema ilişkiyi gösterir; bütün uygulamanın yerine geçmez.

Açıklamalı örnek

Aşağıdaki parça kavramı görünür kılar. Komut veya kod içeren örnekleri üretim sisteminde değil, size ait ayrı deneme ortamında değerlendirin. Mimari şema ve politika örnekleri çalıştırılabilir program değildir.

#include <iostream>
namespace academy { int score(){ return 8; } }
int main() { std::cout << academy::score(); }

Beklenen sonuç ve yorumu

academy alanındaki score çağrılır ve 8 yazılır.

Karşılaştırmalı durumlar

DurumBeklenen yaklaşımNeden?
İki kütüphanede aynı isimNitelikli isimKaynak açık seçilir
Başlıkta genel usingKaçınTüketicinin adlarını etkiler
Namespace içi sırYine korunmalıİsim alanı erişim güvenliği değildir

Uygulama görevi

Başka namespace içinde farklı score tanımlayın; iki sonucu açık isimlerle yazdırın.

  1. İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
  2. Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
  3. Sonucu yukarıdaki karşılaştırma tablosuyla değerlendirin. Uymayan durumda hangi varsayımın yanlış olabileceğini açıklayın.

Sık yapılan hata ve düzeltme yönü

Başlık dosyasında using namespace std ekleyerek tüketicinin isim alanını kirletmeyin.

Kendinizi sınayın

Namespace bir yetkilendirme mekanizması mıdır?

Açıklamalı yanıt: Hayır. Derleme ve isim çözümleme düzenidir; çalışma anındaki kullanıcı yetkisini belirlemez.

İlgili derslerle ilerleyin

Teknik başvuru

Bu dersin anlatımı ve örnekleri akademi için yeniden hazırlanmıştır. Aşağıdaki bağlantı, kullanılan teknoloji veya güvenlik yaklaşımının ayrıntılarını doğrulamak için teknik başvurudur.

Bir adım daha ilerlediniz.

Dersi bitirdiyseniz tamamlandı olarak işaretleyin. İlerlemeniz bu cihazda saklanır.

Akademi menüsü

Akademide ara

En az 2 karakter yazın.