Forum: Ders Arası RSS
Sihirli Bir Kelime: Enumerate
enum, sihirli sabitlerden kaçınmak
Avatar
Salih Dinçer #1
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Sihirli Bir Kelime: Enumerate
Ali Çehreli:
false/true gibi parametrelerden kaçınmak gerekir çünkü işlevin çağrıldığı noktadaki 'true' gibi değerin ne anlama geldiği bilinemez. Onun yerine şöyle enum'lar kullanmak çok daha yararlıdır:
    enum Eylem { çıkart, ekle };
Şimdi enumerate dersinizi okudum da çok güzelmiş. Bugüne kadar satranç yazılımı dışında hiç ihtiyaç duymadım. Onda da taşların isimleri ile kodlarda boğulmamak için zorunda kalmıştım. Yoksa başkası için değil yazan için bile saç yolduracak kadar karmaşık olabiliyor...:)

Az öncede üzerinde çalıştığım kodda şu şekilde denedim:
enum Doğru_mu { evet = true, hayır = false }
Ancak işlev içinde doğru aktarma yaptığım halde, sorgu içinde bool yerini tutmadı. Sanırım küçük bir mantık hatası yapıyorum.

Sevgiler, saygılar...
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
enum'ların temel türlerine otomatik olarak dönüşmeleri C ve C++'ta sorun doğurmuştur. D bu konuda daha titizdir. Eğer true otomatik olarak Doğru_mu.evet'e dönüşseydi bazen biz istemeden göz yumuluyor olabilirdi.

Şu derleniyor:

enum Doğru_mu { evet = true, hayır = false }
 
void foo(Doğru_mu doğruluk)
{
    if (doğruluk) {
    }
}
 
void main()
{
    foo(Doğru_mu.evet);
}

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Forum: Ders Arası RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-18, 07:47:50 (UTC -08:00)