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

  • Ash100HD

    Ash100HD

    29 EKİM 2011
  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • New Scientist

    New Scientis

    27 Kasım 2006