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

  • ChannelRichard

    ChannelRicha

    7 Kasım 2008
  • ipsy Makeup Tips

    ipsy Makeup

    19 ŞUBAT 2009
  • RaquelGamesBR

    RaquelGamesB

    20 HAZİRAN 2009