SORU
9 Mart 2010, Salı


C : diziler için başlatıcı kurucu

Beyin bir kramp... nasıl nesneleri bir dizi düzgün C başlatılamıyor muyum ? yaşıyorum

dizi olmayan örnek:

struct Foo { Foo(int x) { /* ... */  } };

struct Bar { 
     Foo foo;

     Bar() : foo(4) {}
};

dizi örnek:

struct Foo { Foo(int x) { /* ... */  } };

struct Baz { 
     Foo foo[3];

     // ??? I know the following syntax is wrong, but what's correct?
     Baz() : foo[0](4), foo[1](5), foo[2](6) {}
};

düzenleme:Vahşi ve çılgın çözüm fikirleri takdir edilmektedir, ama benim durumumda bana yardım etmeyecekler. Üzerinde çalışıyorum bir gömülü işlemci nerede std::vector ve diğer STL yapıları kullanılamaz, ve bariz bir geçici çözüm için bir varsayılan yapıcı ve açık bir init() yöntem çağrılabilir sonra inşaat zamanı, yani bilmiyorum kullanmak zorunda başlatıcılar. (Bu Java final kurucular ile anahtar kelime esneklik tarafından şımarık oldum bu durumlardan biri.)

CEVAP
9 Mart 2010, Salı


Yol diye bir şey yok. Dizi üyeleri için varsayılan bir kurucu ihtiyacın var ve Adı verilecek, daha sonra, kurucu istediğiniz herhangi bir başlatma yapabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012
  • bored before i even began

    bored before

    30 Mart 2009