İç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++ enum: Durumları güvenilir biçimde adlandırma

Ham sayılarla temsil edilen durumlar kolayca karışabilir. enum class, seçenekleri isimlendirip farklı durum türlerinin kazara birbirine karışmasını azaltır.

Bu derste neler var?

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

Bu derste kazanacaklarınız

  • Durum kodu ile Doğrulanmış enum arasındaki ilişkiyi açıklamak.
  • “Enum kullanmak yetkisiz geçişi engeller mi?” 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ı

Dış API sayısal kod gönderiyorsa bu kodu doğrudan geçerli enum saymayın. Ayrıştırma katmanı yalnızca tanımlı değerleri kabul etmelidir. Yeni durum eklenince switch kararlarını ve serileştirmeyi güncelleyin. İsimli durum kullanmak güvenlik kontrolünü otomatik sağlamaz; hangi geçişin kim tarafından yapılabileceği ayrıca tanımlanır.

C++ enum: Durumları güvenilir biçimde adlandırma akışı: Durum kodu → Doğrulanmış enum → Geçiş
Durum kodu → Doğrulanmış enum → Geçiş. Ş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>
enum class Review { Pending, Approved };
int main() {
 Review state{Review::Pending};
 std::cout << (state == Review::Approved);
}

Beklenen sonuç ve yorumu

0 yazılır; bekleyen kayıt onaylı değildir.

Karşılaştırmalı durumlar

DurumBeklenen yaklaşımNeden?
Tanımlı durumEnum değeriAçık sözleşme vardır
Dışarıdan bilinmeyen sayıReddetGeçerli enum garantisi yoktur
Yasak durum geçişiPolitika kontrolüEnum yetkilendirme değildir

Uygulama görevi

Onaylama işlemini yalnızca Pending durumundan kabul eden bir fonksiyon tasarlayı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ü

Sayısal girdiyi doğrulamadan static_cast ile geçerli iş durumu saymayın.

Kendinizi sınayın

Enum kullanmak yetkisiz geçişi engeller mi?

Açıklamalı yanıt: Hayır. Değer kümesini düzenler; geçiş yetkisi ve iş kuralı ayrıca kontrol edilir.

İ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.