SORU
28 Temmuz 2009, Salı


C statik kurucular ? özel statik nesneleri başlatmak gerekiyor

Özel statik veri üyesi (tüm karakterler a-z içeren bir vektör ile bir sınıf olmasını istiyorum. Ya da C#, java sadece bir "sınıf örneklerini yaparım, sınıfın statik veri üyeleri kurar önce çalışır. yapıcı" statik yapabilirsiniz Sadece bir kez çalıştırmak alır değişkenleri salt okunur ve sadece bir kez ayarlanması gerekir gibi) ve sınıf bir fonksiyon olduğu için özel çağırılır. Elimden Ekle kod oluşturucu çekleri görmek için vektör başlatıldı, ve bunu başlatmak değil, ama o tanıttı, çok gerekli kontrolleri ve değil gibi en uygun çözüm için sorun.

Bu düşünce aklıma gelmişken beri bu değişkenler okunacak sadece, onlar sadece ortak statik sabit, bu yüzden ben bunları dışarı çıktıktan sonra sınıfı, ama bir kez daha, göründüğü gibi çirkin bir hack.

Eğer yapıcıyı onları başlatmak istemiyorum eğer bir sınıf içinde özel bir statik veri üyesi olması mümkün mü?

CEVAP
28 Temmuz 2009, Salı


Statik oluşturucu eşdeğer almak için, statik verileri tutmak ve bu sıradan bir sınıf statik bir örnek yapmak ayrı sıradan bir sınıf yazmak gerekir.

class StaticStuff
{
     std::vector<char> letters_;

public:
     StaticStuff()
     {
         for (char c = 'a'; c <= 'z'; c  )
             letters_.push_back(c);
     }

     // provide some way to get at letters_
};

class Elsewhere
{
    static StaticStuff staticStuff; // constructor runs once, single instance

};

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jose LviS el Bambino ( JLB )   LviSito

    Jose LviS el

    3 ŞUBAT 2008
  • LardTardProductions's channel

    LardTardProd

    10 NİSAN 2009
  • PamtheBlamofficial

    PamtheBlamof

    31 Aralık 2010