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.
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
| Durum | Beklenen yaklaşım | Neden? |
|---|---|---|
| İki kütüphanede aynı isim | Nitelikli isim | Kaynak açık seçilir |
| Başlıkta genel using | Kaçın | Tüketicinin adlarını etkiler |
| Namespace içi sır | Yine 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.
- İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
- Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
- 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
- C++ operatörleri: Tam sayı bölmesi ve öncelik
- C++ kullanıcı girdisi: Akış hatasını işleme
- C++ string: Sahiplik, uzunluk ve erişim
- C++ değişkenleri: Başlatma ve değişmezlik
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.
