SORU
4 AĞUSTOS 2011, PERŞEMBE


Gerçekten "numaralama sınıf" C 11 ihtiyacımız var mı?

Gelince

struct E { enum E_ { HELLO }; }; // 'E' is inheritable

neden ihtiyacımız olsun o zaman

enum class E { HELLO };  // 'E' is not inheritable

IMO 2 Sürüm 1 Daha fazla özellik sunmuyor. enum class sadece 2 ayraç {}; kurtarmak için sunulan sanmıyorum! Herhangi bir önemli yönü eksik muyum ?

Küçük bir soru olarak, enum class enum struct sözdizimi hem public türemiş çünkü başka arasında herhangi bir fark var mı ?

CEVAP
4 AĞUSTOS 2011, PERŞEMBE


Gerçekten gerek “sınıf 0 x " C”? numaralama mı

Hayır, "" enum class. gerek yok İşlevselliği diğer yönden yeterince eşdeğer alabiliriz. Bu mantıkla, "" C bir sürü şey . gerek yok "Kendiniz durumda fonksiyonun parametre değişkeni ile sağlayabiliriz beri" sanal işlevleri ve miras gibi. gerek yok ""Üye işlevler; bu onlara ek bir argüman alarak taklit edilebilir. gerek yok

Dil özellikleri programcıları hayatlarını kolaylaştırmak için var. Sadece bir şey çünküolabilirelle gerektiği anlamına gelmez yapılabilir.

enum class aşağıdaki özelliklere sahiptir:

  1. Bunu anlamak kolaydır; bu aynalar neçetelelerdiğer dillerde çalışır.
  2. Derleyici yazarların nispeten daha az gerektirir. Gibi özelliklere sahip olan uygulama çaba kontrastr-değeri başvuruyor,varadic şablonlarıyakullanıcı tanımlı sabitler.
  3. Herhangi bir şekilde sözdizimi sonu gelmez. Biraz önce enum class ama bu en yeni özellikler için doğru olduğunu görmek için tuhaf görünebilir. Buna alıştıktan sonra sorun yok, sorun yok.
  4. Düzenli çeteleler nasıl çalıştığını tanımlamak değil 0 geriye doğru uyumlu. Eski tarz iş için kullandıkları aynı çeteleler.
  5. Klişe bir sürü kod yazmak zorunda sizi tutar. Boost enum class tanımlar efekti oluşturmak için bir makro var. Bu makro olmadan, çaba biraz köşede bulunan hastalar çalışmaya başlamak için harcamak zorunda. Ve öyle olsa bilebiriyazmak zorundaydı ve bu makro hata ayıklama.

Yani hayır, biz değil "ihtiyaç". Ama yine de bu dil için harika bir ilave ediyorlar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Elly

    Elly

    3 EKİM 2005
  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • XxMinayaxX1

    XxMinayaxX1

    9 Mayıs 2012