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

  • Autocar

    Autocar

    11 Mart 2006
  • Unbox Therapy

    Unbox Therap

    21 Aralık 2010
  • Yo Mama

    Yo Mama

    18 EYLÜL 2005