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

  • kev5124

    kev5124

    9 Kasım 2008
  • TV nEW

    TV nEW

    25 AĞUSTOS 2012
  • wolfys you tube

    wolfys you t

    22 Kasım 2006